我需要对这些大规模进行排序:
$arr1 = array(
'audio',
'audio',
'audio',
'audio',
'audio',
);
$arr2 = array(
'video',
'video',
'video'
);
使用for
循环:
$result = array_merge($arr1, $arr2);
for($i = 0; $i < count($result); $i++){
$finally_arr[] = $arr1[$i];
$finally_arr[] = $arr2[$i];
}
最后我想这样:
$finally_arr = array(
[0] => audio
[1] => video
[2] => video
[3] => audio
[4] => audio
[5] => video
[6] => audio
[7] => audio
);
第一项是单项,其他项目是成对的,如国际象棋:
audio video
video audio
audio video
audio audio
在数组中提供更多的项目,一起下去。 如何写这个循环?
答案 0 :(得分:1)
$lenght = max(count($arr1), count($arr2));
$i = 0;
while ($i < $lenght){
// One order
if(array_key_exists($i, $arr1))
$finally_arr[] = $arr1[$i] . '<br>';
if(array_key_exists($i, $arr2))
$finally_arr[] = $arr2[$i] . '<br>';
if(++$i >= $lenght) break;
// Revert order
if(array_key_exists($i, $arr2))
$finally_arr[] = $arr2[$i] . '<br>';
if(array_key_exists($i, $arr1))
$finally_arr[] = $arr1[$i] . '<br>';
$i++;
}