PHP期间逗号与深度分析的区别

复制代码代码如下所示:
echo'abc'。'def '; / /字符串的连接点
echo'abc ','def '; / /连接字符串用逗号

那么让我们举一些例子来辨别它们之间的区别。
复制代码代码如下所示:
回声1 + 5 =。1 + 5;

看看它。输出是6,不是1 + 5 = 6,有些魔法。
更令人惊奇的是,您可以看到以下示例。
复制代码代码如下所示:
1 + 5。5 + 1;输出2

结果很奇怪。我们看到。我们把5和1放在这个位置上。结果是2。
为什么会这样。PHP的增加不是交换定律,当然不是。
我们首先不想知道为什么。如果我把上面的点作为逗号尝试。
复制代码代码如下所示:
回声1 + 5 = 5 + 1,1 + 5 = 6 /输出;
回声1 + 5 = 1 + 5,1 + 5 = 6 /输出;

可以看出,只有使用逗号才能得到预期的结果。
为什么你不能指出为什么要用逗号
复制代码代码如下所示:
回声(1 + 5。5)+ 1; /输出2

在前面添加括号后,我们得到相同的结果。事实证明PHP首先连接到字符串,然后添加到字符串中。根据从左到右的方向。

这么好.因为它是第一个字符串。然后应该是1 + 55。然后使用这个字符串添加1,为什么要输出2
这与在PHP中把字符串转换成数字的机制有关。让我们看下面的例子
复制代码代码如下所示:
回声(int'abc1 '); / /输出0
回声(int '1abc '); / /输出1
回声(int '2abc '); / /输出2
回声(int '22abc '); / /输出22

从上面的例子中,我们可以看到,如果一个字符串被裹挟到一digit.php,它将搜索字符串的开始。如果初始数字被转换,如果不是,它将直接返回到0…

回到1 + 55。刚才这个字符串是1 + 55,在强制类型转换后应该是1。在此基础上,增加1。当然是2。
证明我们的猜测。让我们检查一下。
复制代码代码如下所示:
回声5 + 1 =。1 + 5;输出10
回声5 + 1 =。5 + 1;输出6
回声1 + 5 =。1 + 5;输出6
回声1 + 5 =。5 + 1;输出2

结果证明我们的想法是正确的。
那么为什么逗号没有问题呢
手册上说。逗号是多个参数。
也就是说,它是一个多参数。换言之。
逗号由n个参数相等分开。也就是说,使用回声作为一个函数。
这样,回声将首先计算每个参数。最后,输出连接。所以我们没有逗号的问题。