PHP关联数组的键区分大小写,键“a”与键“A”不同。
<?php
$arr = ["A" => 666];
var_dump($arr["a"]);
var_dump($arr["A"]);
?>
输出结果为
NULL
int(666)
同样,array_diff_assoc 函数对键的大小写敏感,键“A”不等于键“a”,它们会被认为是不同的。
<?php
$compareWhat = ["a" => 666, "b" => 666, "c" => 666, ];
$compareWith = ["A" => 666, "b" => 667, "c" => 666, ];
var_dump(array_diff_assoc($compareWhat, $compareWith));
?>
输出结果为
array(2) {
["a"]=> int(666)
["b"]=> int(666)
}
如果数组中值的顺序不同,结果的顺序也会不同,尽管结果本身基本相同。
<?php
$compareWhat = ["b" => 666, "a" => 666, "c" => 666, ];
$compareWith = ["A" => 666, "b" => 667, "c" => 666, ];
var_dump(array_diff_assoc($compareWhat, $compareWith));
?>
输出结果为
array(2) {
["b"]=> int(666)
["a"]=> int(666)
}