我已经搜索了网站,但很难找到如何实现我所希望的。我正在动态地创建下面的数组,然后对它进行排序。现在我已经完成了,我想比较二级键[35659]等。到另一个数组中的值。
Array
(
[11] => Array
(
[35659] => 1
[35735] => 2
)
[199] => Array
(
[35659] => 1
[35699] => 1
)
[118] => Array
(
[35659] => 1
)
)
这是另一个保存产品id
的数组Array
(
[0] => 35659
[1] => 35699
[2] => 35735
)
所以我想要实现的是,当第二个数组值存在于第一个数组中时,一旦每个productid满足,就把它们打印出来,一旦我想要打破。
所以我想要的结果如下所示,因为product id数组中的三个值都满足了。
[11] => Array
(
[35659] => 1
[35735] => 2
)
[199] => Array
(
[35699] => 1
)
在这方面的任何指导将是非常感激的。 遍历第一个数组,如果它在第二个数组中,则添加一个元素,同时保持计算添加了多少个元素。如果您已经添加了所有元素,那么就中断迭代。
$results = array();
$count = 0;
foreach($array as $key => $subarray) {
foreach($subarray as $subkey => $subvalue) {
if(in_array($subkey,$second_array)) {
$results[$key][$subkey] = $subvalue;
if(++$count == count($second_array))
break 2;
}
}
}
print_r($results);