array_diff_assoc()正在考虑1 ===" 1"

时间:2015-08-05 11:12:32

标签: php arrays

我从php.net示例

运行此代码
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

我得到的输出:

Array
(
    [0] => 0
    [1] => 1
)

php.net说:来自key =&gt;的两个值值对被认为是等于仅当(字符串)$ elem1 ===(字符串)$ elem2。

而在示例中,它考虑2 ===&#34; 2&#34;。

这是怎么回事?请解释一下?

可能是这种情况

如果$ ele1将整数转换为字符串,即2到&#34; 2&#34;,那么为什么它与===运算符进行比较。可能有2 ==&#34; 2&#34;更好的选择,我们不需要把它变成字符串。如果我错了,请纠正我?

1 个答案:

答案 0 :(得分:0)

如果$ ele1将整数转换为字符串,即2转换为“2”,那么为什么它与===运算符进行比较。可能有2 ==“2”更好的选项,我们不需要将其转换为字符串。如果我错了,请纠正我?
这就是它实施的方式 如果您想要另一个比较函数,请使用array_diff_uassoc()