嗨我有三个像这样的数组
$arr1 = array(2,3,4,5);
$arr2 = array(1,2,3,4);
$arr3 = array();
我需要一个循环函数来复制$ arr2中的每个值,并使用$ arr1中的值,所以最终结果应如下所示:
$arr3= array(1,1,2,2,2,3,3,3,3,4,4,4,4,4,4);
我知道我需要使用$ arr2 [i]对$ arr3执行array_push
for($i=0;$i < count($arr2);$++){
array_push($arr3,$arr2[$i]);
}
但是我不知道用于迭代array_push循环的外部循环,我应该添加什么来进行重复?
答案 0 :(得分:1)
解决方案1: 您需要应用foreach()
和for()
循环
1.迭代第一个数组$arr1
2.使用第一个数组的相同键检查该值是否存在于第二个数组
中3.根据第一个数组值应用循环
4.根据循环
重复分配相同的值foreach($arr1 as $key=>$arr){
if(isset($arr2[$key])){
for($i=0;$i<$arr;$i++){
$arr3[] = $arr2[$key];
}
}
}
print_r($arr3);
输出: - https://eval.in/1005648
解决方案2: 您可以使用array_merge()
和array_fill()
foreach($arr1 as $key=>$arr){
$arr3= array_merge($arr3,array_fill(count($arr3),$arr,$arr2[$key]));
}
echo "<pre/>";print_r($arr3);
输出: - https://eval.in/1005666