我在陣列形式的數據:轉換陣列的形式在PHP
0 => a,
1 => b,
2 => c,
3 => d,
4 => e,
5 => f,
6 => g
我怎樣才能將這些陣列爲以下嗎?
0 => array(0 => a, 1 => b),
1 => array(0 => c, 1 => d),
2 => array(0 => e, 1 => f),
3 => array(0 => g, 1 => null)
我在陣列形式的數據:轉換陣列的形式在PHP
0 => a,
1 => b,
2 => c,
3 => d,
4 => e,
5 => f,
6 => g
我怎樣才能將這些陣列爲以下嗎?
0 => array(0 => a, 1 => b),
1 => array(0 => c, 1 => d),
2 => array(0 => e, 1 => f),
3 => array(0 => g, 1 => null)
考慮以下代碼:
$j = 0;
for($i=0; $i< count($arr); $i++){
if(($i !=0) && (($i % 2) == 0)){
$j++;
}
$newArray[$j][] = $arr[$i];
}
$lastElement = count($newArray) -1;
if(count($newArray[$lastElement]) < 2){
$newArray[$lastElement][]= null;
}
echo "<pre>";
print_r($newArray);
輸出:
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
[1] => f
)
[3] => Array
(
[0] => g
[1] =>
)
)
用戶array_chunk()功能分割的陣列成塊,和2 第二 PARAM塊大小
array_chunk($arr, 2);
Superb在更短的時間 – Manwal 2014-10-08 05:29:51
組塊不會給null
的要求的情況下,如果元件的數目是整除。
$by = 2;
$arr = range('a', 'g');
$arr = array_merge($arr, count($arr) % $by ?
array_fill(0, $by - count($arr) % $by, null) : array());
var_dump(array_chunk($arr, $by));
感謝很多。有效。 – 2014-10-08 05:59:47
@skonmai它確定 – Manwal 2014-10-08 06:43:34