这是我的数组
[51] => Array
(
[171] => 34
[170] => Adult
[168] => 32
[quantity] => 1
)
[52] => Array
(
[171] => 34
[170] => Adult
[168] => 32
[quantity] => 1
)
现在,如果除了数量之外的所有键和值都相同,那么将添加数量。
例如:
[51] => Array
(
[171] => 34
[170] => Adult
[168] => 32
[quantity] => 2
)
有没有办法用动态键搜索。 请帮忙。
答案 0 :(得分:5)
假设
$arr1 = Array(
171 => 34
170 => Adult
168 => 32
'quantity' => 1
);
$arr2 = Array(
171 => 34
170 => Adult
168 => 32
'quantity' => 1
);
您可以执行以下操作:
$tmp1 = $arr1;
unset($tmp1['quantity']);
$tmp2 = $arr2;
unset($tmp2['quantity']);
if($tmp1 == $tmp2) {
// do what you like
}
当你执行$tmp1 == $tmp2
时,它按键和值比较两个数组,请参阅http://php.net/manual/en/language.operators.array.php
$ a == $ b如果$ a和$ b具有相同的键/值对,则为TRUE。
$ a === $ b如果$ a和$ b在相同的顺序中具有相同的键/值对,则为TRUE 相同类型的。
答案 1 :(得分:1)
您可以使用array_diff_assoc()功能...它会根据键
检查数组 <?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);
?>