我在php测试文件中只写了这一行而没有其他内容:
?prop.table
并给出输出: 28。
我不明白这背后的逻辑是什么。任何人都请简要描述一下。
答案 0 :(得分:2)
PHP正试图将这些视为数字。它可以用于前两个,删除非数字%
字符。
对于第三部分,它以字符串字符开头,完全被忽略。
试试这个:
echo 13 + "15%" + "5foobar" + 7; // 40
答案 1 :(得分:2)
PHP认识到每个值都必须是数字。 13是数字。 ' 15%'自动更改为一个数字,即15。PHP不理解"百分比"并且没有使它成为0.15。 ' $ 25#39;是字符串$ 25。如果您键入了" $ 25",它将是25美元的变量值,它会抱怨25不是有效的变量名称(必须以字母或下划线开头)。因此,它无法转换为数值。它变为零。你的结果是13 + 15 + 0。
答案 2 :(得分:1)
Php只识别字符串中的第一个数字。试试这个:
$res1=1+'2a'+'a15'; //3
$res2=1+'2b'+'3b5'; //5 is ignored.result is 6