【发布时间】:2019-09-02 12:55:23
【问题描述】:
我有数组 #1,其中包含:
Array
(
[attribute_pa_color] => blue
[attribute_pa_size] => large
)
我有数组 #2,其中包含:
Array
(
[4624] => Array
(
[attribute_pa_color] => blue
[attribute_pa_size] => large
)
[4625] => Array
(
[attribute_pa_color] => blue
[attribute_pa_size] => medium
)
[4626] => Array
(
[attribute_pa_color] => blue
[attribute_pa_size] => small
)
)
如何从 Array #2 中找到内部键和值与 Array 1 匹配的数组键?
我一直在尝试多个 foreach,但我似乎无法做到这一点,这是我目前的想法:
$i = 0;
foreach( $array_2 as $array2_key => $array2_array ) {
foreach( $array2_array as $a2_key => $a2_value ) {
if( $a2_value == $array1[$a2key] ) {
$i = $i + 1;
if( $i == count( $array1 ) ) {
$break = 1;
}
if( $break == 1 ) {
break;
}
}
}
if( $break == 1 ) {
echo 'key is: ' . $array2_key;
break;
}
}
【问题讨论】:
-
我希望 $array1 分配正确。什么是 $in ?为什么要 $ 休息,然后休息?你在执行吗?我认为 if 条件应该有效。之后你想做什么?
-
$in 是一个错字,应该是 $i,它只是一个计数器,我编辑了这个问题。中断是作为条件完成的,因此我可以中断两个循环。
-
只是
break;不能作为break 2;退出循环的两个级别 - stackoverflow.com/questions/5880442/…