Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组_diff_assoc文档代码产生意外结果_Php_Arrays - Fatal编程技术网

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"
}