怎麼將下面二維數組拆分成幾個數組
$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);