Есть функции, написанные на JS:
function DateTimeToUnix(d)
{
var r = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), 00, 00, 00));
var n = (r.getTime()/1000);
return n;
}
function rezerveNCd(code)
{
var str = rezerveCd(code);
var c = 0;
var char = "";
var i = 1;
var result = "";
var s = "";
for (i=0;i<str.length-1;i++)
{
char = str.charAt(i);
c = char * (i+1);
char = c;
s = char.toString();
s = s.charAt(s.length-1);
result = result + s;
}
return result;
}
function rezerveCd(code)
{
var d = new Date()
var unixtime = DateTimeToUnix(d);
var i = 0;
var str = unixtime.toString();
var n = 1;
code = code + 127;
var result = str;
for (i=0;i<=str.length-1;i++)
{
n = str.charAt(i)*code;
result = result+n;
}
return result;
}
Пытаюсь написать тоже самое на PHP:
function mkTimestamp($year,$month,$day, $hours=00,$minutes=00,$seconds=00){
date_default_timezone_set('UTC');
return mktime($hours,$minutes,$seconds, $month,$day,$year);
}
function char_at($str, $pos)
{
return $str{$pos};
}
function rezerveCd($code)
{
$d = mkTimestamp(date("Y"), date("m"), date("d"));
$i = 0;
$stre = (string)$d;
$n = 1;
$code = $code + 127;
$result = $stre;
for ($i = 0; $i <= count($stre) - 1;$i++)
{
$n = char_at($stre, $i) * $code;
$result = $result + $n;
}
return $result;
}
function rezerveNCd($code)
{
$stre = rezerveCd($code);
$c = 0;
$i = 1;
for ($i = 0; $i < count($stre) - 1; $i++)
{
$char = char_at($stre, $i);
$c = $char * ($i + 1);
$char = $c;
$s = (string)$char;
$s = char_at($s, (count($s) - 1));
$result = $result + $s;
}
return $result;
}
При вызове на JS console.log(rezerveCd(60))
и console.log(rezerveNCd(60))
значения выдаёт корректно
При попытке echo rezerveCd(60);
выдаёт неполное значение, а echo rezerveNCd(60);
ничего не выдаёт. В чём может быть проблема? Буду благодарен за помощь!
P.S. значение console.log(rezerveCd(60)) - 15294528001899453781701756945378151200
значение echo rezerveCd(60); - 1529452987
Вы путаете конкатенацию в js со сложением в php.
Почти дословный перевод:
function rezerveCd($code)
{
$str = strval(time());
$code += 127;
$result = $str;
for ($i=0; $i < strlen($str); $i++)
{
$n = $str{$i}*$code;
$result .= $n;
}
return $result;
}
echo rezerveCd(60); // 152948781718793537416837481496130914961871309
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем привет, я только начинаю изучать ООП и столкнулся вот с такой проблемой
Внедряюсь/Инжектируюсь в стороннее Qt-приложениеПеребираю все QWidget, но не нахожу среди них QMainWindow
Мне нужно скопировать данные из одного std::map в другой std::map, при условии что эти данные выражены в виде указателейТо есть с помощью оператора...
IntelliSense в VS Code не видит хедеры, установленные в /usr/local/includeЯ собрал и установил GLUT для OpenGL, но по умолчанию хедеры и либы установились не в /usr, а в /usr/local