Я пытаюсь преобразовать свой рабочий код PHP 5.x в более современную базу кода PHP 7.x, поэтому я добавил «declare (strict_types = 1);» на первом этапе, но это не сработало, как ожидалось.PHP 7 | chr() + strict_types === ошибка?
код: ord(chr(ord("\xE9")/64) | "\xC0");
демо: https://3v4l.org/680ts
GitHub: https://github.com/voku/portable-utf8/blob/master/src/voku/helper/UTF8.php#L6613
< PHP 7,0 или> 7,0 (без strict_types = 1) ===
PHP> 7.0 (с strict_types = 1) ===
Может быть, кто-нибудь может объяснить это мне? Я думаю, это из-за «chr()», ожидающего целого числа, но мы получаем float ?! Но нет никакого предупреждения или что-то вроде этого ...? ->http://php.net/manual/en/migration70.incompatible.php#migration70.incompatible.strings.hex
Nice breakdown and explain. – Darren