Есть такой код на PHP
$x = "5d"; // 5d
$y = intval($x); // 5
if ( $y == $x ) // если 5 == 5d
print_r( " $x это число " ); // 5d это число
Кто-нибудь может мне объяснить почему 5d равно 5?
PHP слаботипизированный язык, в которым при произведении различных операций с переменными, те неявно приводятся к подходящему типу данных. В Вашем случае при попытке сравнить число и строку, вторая будет преобразована к числу, т.е. аналогично будет сделано intval($x). Чтобы сравнить число и строку, используйте оператор сравнения по значению и типу, т.е. $y === $x
Если операнды имеют разные типы данных, а в твоём случае это так. Так как $х строкового типа, а $y целочисленного, то Php приводит их к одному типу и выдаёт, что они тождественны . Держи ссылку где можешь почитать подробно про этот оператор https://puzzleweb.ru/php/14_compare.php#a1
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пытаюсь сделать авторизацию на PHP через api вконтактеВот код:
Как отсортировать товар по категориям, чтобы товар выводился по очереди по 1 товару из категории, например, у нас есть
Моя страница (ordermustache) использует несколько стилей CSS (внешних и локальных), изображения, фоновое видео и JS-элемент