я написал только эту линию, и ничего в моем PHP тестовый файл:Confused о результате
<?php
echo $y = 13 +'15%'+'$25' ;
?>
и это дает результат: 28.
я не понял, Что логика за этим , кто-нибудь, пожалуйста, опишите это вкратце.
я написал только эту линию, и ничего в моем PHP тестовый файл:Confused о результате
<?php
echo $y = 13 +'15%'+'$25' ;
?>
и это дает результат: 28.
я не понял, Что логика за этим , кто-нибудь, пожалуйста, опишите это вкратце.
PHP пытается рассматривать их как числовые. И он может для первых двух, отбрасывая нечисловой символ %
.
Для третьей части, однако, она начинается с символа строки и полностью игнорируется.
Попробуйте так:
echo 13 + "15%" + "5foobar" + 7; // 40
PHP признает, что каждое значение должно быть числовым. 13 - числовое. '15% 'автоматически изменяется на число, равное 15. PHP не понимает «процент» и не делает его 0.15. '$ 25' - буквальная строка $ 25. Если вы набрали «25 долларов США», это будет значение переменной для 25 долларов США, и оно будет жаловаться на то, что 25 не является допустимым именем переменной (должно начинаться с буквы или подчеркивания). Таким образом, он не может быть переведен на числовое значение. Он становится равным нулю. Ваш результат равен 13 + 15 + 0.
Php распознает только первое число в вашей строке. Попробуйте следующее:
$res1=1+'2a'+'a15'; //3
$res2=1+'2b'+'3b5'; //5 is ignored.result is 6
Это не то, что происходит. Он переводит каждое значение из заданного типа данных в числовое. Таким образом, он не останавливается на%. Он просто переводит «15%» на 15. Он действительно смотрит на «25 долларов США» и меняет это на ноль. – kainaw