Php 数组_diff_assoc文档代码产生意外结果
下面是一个来自中国的例子 在本例中,您可以看到Php 数组_diff_assoc文档代码产生意外结果,php,arrays,Php,Arrays,下面是一个来自中国的例子 在本例中,您可以看到“a”=>“green”对出现在两个数组中,因此它不在函数的输出中。与此不同,对0=>“red”在输出中,因为在第二个参数中,“red”的键是1 <?php $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "green", "yellow", "red"); $result = ar
“a”=>“green”
对出现在两个数组中,因此它不在函数的输出中。与此不同,对0=>“red”
在输出中,因为在第二个参数中,“red”
的键是1
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
red
在两个数组中都存在,但它在array_diff_assoc
的输出中返回,为什么PHP认为red
在$array1
和$array2
中是不同的?这是因为在第一个数组中red的索引是0,而在第二个数组中red的索引是1,所以它们是不同的
从文档中:
使用附加索引检查计算数组的差异
:
这是因为在第一个数组中,红色的索引是0,而在第二个数组中,红色的索引是1,所以它们是不同的 从文档中: 使用附加索引检查计算数组的差异 :
$array1中红色的键为0: $array1 ([a]=>绿色[b]=>棕色[c]=>蓝色[0]=>红色) $array2
([a]=>绿色[0]=>黄色[1]=>红色)在$array1中红色的键是0: $array1 ([a]=>绿色[b]=>棕色[c]=>蓝色[0]=>红色) $array2
([a]=>绿色[0]=>黄色[1]=>红色)将数组1与数组2进行比较,并返回差值。与array_diff()不同,数组键也用于比较。第一个数组中的
red
的键是0
,但第二个数组中的键是1
如果你print\r()
array 1和2,你会看到'red'的索引/键不同,这在array\u diff\u assoc()
中很重要,这与array\u diff()的方式不同
works。将array1与array2进行比较并返回差值。与array_diff()不同,数组键也用于比较。第一个数组中的red
的键是0
,但第二个数组中的键是1
如果你print\r()
array 1和2,你会看到'red'的索引/键不同,这在array\u diff\u assoc()
中很重要,这与array\u diff()的方式不同
有效。我不知道PHP向没有键的值添加了键。谢谢。你可以在电脑上阅读有关钥匙的内容<代码>该键是可选的。如果未指定,PHP将使用以前使用的最大整数键的增量。我不知道PHP向没有键的值添加了键。谢谢。你可以在电脑上阅读有关钥匙的内容<代码>该键是可选的。如果未指定,PHP将使用以前使用的最大整数键的增量。
Array
(
[b] => brown
[c] => blue
[0] => red
)
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
var_dump($array1);
var_dump($array2);
array(4) {
["a"]=>
string(5) "green"
["b"]=>
string(5) "brown"
["c"]=>
string(4) "blue"
[0]=>
string(3) "red"
}
array(3) {
["a"]=>
string(5) "green"
[0]=>
string(6) "yellow"
[1]=>
string(3) "red"
}