使用具有以下结构的数组文件。我知道需要在每个阵列下插入其他数组' color'。
$items=array (
0 =>
array (
'color' => 'category_a',
),
1 =>
array (
'book' => 'Gone With The Wind',
'movie' => 'GWTW',
'id'=> 'A100'
),
2 =>
array (
'book' => 'Goldfinger',
'movie' => 'GF',
'id'=> 'A103'
),
3 =>
array (
'color' => 'category_b',
),
4 =>
array (
'book' => 'Across The Great Dvide',
'movie' => 'ATGD',
'id'=> 'B102'
),
5 =>
array (
'book' => 'Goldfinger',
'movie' => 'GF',
'id'=> 'B103'
),
);
创建此数组后,我使用一个列表循环以验证列表中的每个值是否都放在每个颜色中。数组如下
foreach ($controllist as $key=>$value){
foreach($items as $item){
if(in_array($value['book'],$item){
echo "PRESENT IN ARRAY"."<BR>";
}else{
echo "INSERT INTO ARRAY HERE"."<BR>";
}
}
}
为简单起见,我的控制列表看起来像 随风而逝 横跨大分裂 金手指 一旦完成,我应该最终得到插入&#39; color&#39; =&gt;的跨越大分水岭的信息。 &#39;类别a&#39;正如[2]金手指向下移动一样。在&#39; color&#39; =&gt; category_b&#39;第一个数组应该是Gone With The Wind。任何一种颜色&#39;数组可能在任何位置都缺少一个数组。总结一下,需要检查列表中是否存在值,如果不存在则插入到数组中。除了使用显示的foreach循环之外,还有更简单的方法吗?如果不是,我如何将信息插入正确的位置? 感谢
编辑: 我认为这个问题可能并不清楚。我需要做的是检查另一个数组是否存在。如果数组中不存在conrollist中的值,则根据卷轴中的位置将数组插入到数组中。插入的数组将具有与其他数组相同的结构(我可以处理这部分)。我无法确定它是否存在以及是否插入它。希望这有帮助
答案 0 :(得分:0)
您可能希望使用for
循环,以便在每次迭代时都有一个指针,以确定您在数组中的位置。
foreach($items as $item){
for($i = 0; $i < count($controllist); $i++) {
if(in_array($controllist[$i]['book'],$item){
echo "PRESENT IN ARRAY AT POS ".$i."<BR>";
}else{
$controllist[$i]['book'] = $yourvar;
echo "INSERT INTO ARRAY HERE"."<BR>";
}
}
}