我有两个PHP数组,$ array1和$ array2:
$array1 = [55, 23, 45, 6, 0, 12];
$array2 = ['Apple', 'Oranges', 'Pears', 'Banana', 'Mango', 'Cherry'];
有没有办法确保$ array1中的0会被删除,并形成一个新的$ array3而省略了0。其次,在此示例中,也删除了$ array2的相应索引值,并创建了一个新的$ array4,其中省略了“ Mango”。
因此,$ array3和$ array4为:
$array3 = [55, 23, 45, 6, 12];
$array4 = ['Apple', 'Oranges', 'Pears', 'Banana', 'Cherry'];
这里重要的一点是,两个新数组的长度相等,并保持它们相应的索引(如果有意义)。
答案 0 :(得分:0)
您只需要解析第一个数组并检查其中是否有0。如果未将其添加到新数组中,则该值对应于Arrays2的索引。
<?php
$Arrays1 = [55, 23, 45, 6, 0, 12];
$Arrays2 = ['Apple', 'Oranges', 'Pears', 'Banana', 'Mango', 'Cherry'];
$Arrays4 = array();
$search = 55;
foreach($Arrays1 as $index => $arr1_val){
if($arr1_val !== $search){
$Arrays4[] = $Arrays2[$index];
}else{
unset($Arrays1[$index]);
}
}
print_r($Arrays4); // Array ( [0] => Oranges [1] => Pears [2] => Banana [3] => Mango [4] => Cherry )
print_r($Arrays1); // Array ( [1] => 23 [2] => 45 [3] => 6 [4] => 0 [5] => 12 )