Split array into two arrays by index even or odd

前端 未结 10 2069
执笔经年
执笔经年 2020-11-30 12:37

I have this array:

$array = array(a, b, c, d, e, f, g);

I want to split it in two arrays depending if the index is even or odd, like this:<

10条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-30 13:10

    One

    $odd = $even = array();
    for ($i = 0, $l = count($array ); $i < $l;) { // Notice how we increment $i each time we use it below, by two in total
        $even[] = $array[$i++];
        if($i < $l)
        {
           $odd[] = $array[$i++];
        }
    }
    

    Two

    $odd = $even = array();
    foreach (array_chunk($array , 2) as $chunk) {
        $even[] = $chunk[0];
        if(!empty( $chunk[1]))
        {
           $odd[] = $chunk[1];
        }
    }
    

提交回复
热议问题