对结果感到困惑

时间:2016-02-23 19:38:02

标签: php

我在php测试文件中只写了这一行而没有其他内容:

?prop.table

并给出输出: 28。

我不明白这背后的逻辑是什么。任何人都请简要描述一下。

3 个答案:

答案 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