php怎麼將一個二維數組拆分成幾個數組

來源:互聯網
上載者:User
怎麼將下面二維數組拆分成幾個數組

$arr = array(    array(    'id' => 1,    'user_name'=>'test1'    ),    array(    'id' => 2,    'user_name'=>'test2'    ),    array(    'id' => 3,    'user_name'=>'test3'    ),,    array(    'id' => 4,    'user_name'=>'test2'    ),    array(    'id' => 5,    'user_name'=>'test3'    ));拆分後,個數不一定,每組2個或者3個不一定

$arrnew[0] = array(

array('id' => 1,'user_name'=>'test1'),array('id' => 2,'user_name'=>'test2')

);
$arrnew[1] = array(

array('id' => 3,'user_name'=>'test3'),,array('id' => 4,'user_name'=>'test2')

);
$arrnew[2] = array(
array(

'id' => 5,'user_name'=>'test3')

);

回複內容:

怎麼將下面二維數組拆分成幾個數組

$arr = array(    array(    'id' => 1,    'user_name'=>'test1'    ),    array(    'id' => 2,    'user_name'=>'test2'    ),    array(    'id' => 3,    'user_name'=>'test3'    ),,    array(    'id' => 4,    'user_name'=>'test2'    ),    array(    'id' => 5,    'user_name'=>'test3'    ));拆分後,個數不一定,每組2個或者3個不一定

$arrnew[0] = array(

array('id' => 1,'user_name'=>'test1'),array('id' => 2,'user_name'=>'test2')

);
$arrnew[1] = array(

array('id' => 3,'user_name'=>'test3'),,array('id' => 4,'user_name'=>'test2')

);
$arrnew[2] = array(
array(

'id' => 5,'user_name'=>'test3')

);

array_chunk($arr,$num);//$num為2或3

試下下面邏輯是否正確

 $arr = array(        array(            'id' => 1,            'user_name'=>'test1'        ),        array(            'id' => 2,            'user_name'=>'test2'        ),        array(            'id' => 3,            'user_name'=>'test3'        ),        array(            'id' => 4,            'user_name'=>'test2'        ),        array(            'id' => 5,            'user_name'=>'test3'        )    );    rsort($arr);    $newArr = [];    while(!empty($arr)) {        $count = rand(2,3);/這裡控制一個數組要幾個元素,此處設定2-3個        $tmpArr = [];        for($i = 0; $i< $count ; $i++) {            $tmpArr[] = array_pop($arr);        }        $newArr[] = $tmpArr;    }    dump($newArr);
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.