有一项任务是按比例混合两个阵列" 1to3" 那些。 2个数组。
第一阵列
100,200,300,400,500
第二阵列
111,112,113,114,115,116,117,118,119,120
必须以新数组退出
100,111,112,113,200,114,115,116,300,117,118,119,400,120
我只是想不到......也许是一些功能
我有
$pervo=Array();
$sql = "SELECT * FROM `zayvki` WHERE `prioretet`='2' AND `status`='1' AND `let`='2' ORDER BY `dataZayvki` ASC";
$result = mysql_query($sql);
while ($itog = mysql_fetch_array($result, MYSQL_ASSOC))
{
$pervo[]=$itog['id'];
}
和
$obych=Array();
$sql = "SELECT * FROM `zayvki` WHERE `prioretet`='0' AND `status`='1' AND `let`='2' ORDER BY `dataZayvki` ASC";
$result = mysql_query($sql);
while ($itog = mysql_fetch_array($result, MYSQL_ASSOC))
{
$obych[]=$itog['id'];
}
但我不确定它是否正确
答案 0 :(得分:0)
循环第一个数组并使用array_slice()
从第二个数组中获取3个值,然后合并第一个数组中的值和第二个数组中的3个值。
$arr1 = array(100,200,300,400,500);
$arr2 = array(111,112,113,114,115,116,117,118,119,120);
$start = 0;
$len = count($arr2);
$newArr = array();
foreach($arr1 as $val){
if($start <= $len){
//$newArr[] = $val;
$temp = array_merge([$val],array_slice($arr2, $start, 3)) ;
$newArr = array_merge($newArr, $temp);
}
$start +=3;
}
print_r($newArr);