【问题标题】:How to show these massives by two pair?如何用两对显示这些质量?
【发布时间】:2016-05-30 11:21:44
【问题描述】:

我需要对这些质量进行排序:

$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

如果数组中的项目比较多,一起往下走。 这个循环怎么写?

【问题讨论】:

  • 输出不清楚,你能把这个清除吗??
  • Frayne Konok,所以,我创建了这个循环 sandbox.onlinephpfunctions.com/code/… 但如果我将 echo... 更改为 $arr1['$i'], $arr2['$i'] 我的想法不工作...

标签: php arrays for-loop while-loop


【解决方案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++;
}

【讨论】:

  • 很高兴为您提供帮助。祝你好运!
猜你喜欢
  • 1970-01-01
  • 2020-04-21
  • 2014-03-10
  • 2012-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多