无论数组的长度如何,我都需要将二维数组更改为三维数组:
我有以下内容:
array(89) {
[0]=> array(5) { [0]=>"aaa" [1]=>"bbb"[2]=>"ccc" [3]=>"ddd" [4]=>"eee" }
[1]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }
[2]=> array(5) { [0]=>"aaa" [1]=>"bbb"[2]=>"ccc" [3]=>"ddd" [4]=>"eee" }
[3]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }
[4]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }
...}
我需要
array (?) {
[0]=> array(2) {
[0]=> array(5) { [0]=>"aaa" [1]=>"bbb"[2]=>"ccc" [3]=>"ddd" [4]=>"eee" }
[1]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }}
[1]=> array(3) {
[0]=> array(5) { [0]=>"aaa" [1]=>"bbb"[2]=>"ccc" [3]=>"ddd" [4]=>"eee" }
[1]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }
[2]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }}
...}
' blablabla'可以是任何长度和格式,但是' aaa',' bbb',...在所有数组中都是相同的。需要数组以' aaa'
开头答案 0 :(得分:0)
实际上这很简单,只需要一个foreach()
:
$i=-1; //this will increment on first loop so we set it to -1
$key_to_find = $array[0][0]; //storing the 'aaa' value
$result = array();
foreach($array as $key=>$val){
//checking if 'aaa' equals to the first value, if yes increment $i to 0
($val[0]==$key_to_find)?$i++:'';
//save the whole array bunch
$result[$i][] = $val;
}
print_r($result);
<强> DEMO 强>