2017-01-07 5 views
0

私のような1つの配列と要素を持っている: - 私はこの配列を印刷するときどのようにPHPで指定された配列で2つの配列のグループを作るには?

enter code here 
$array = array('1', '2', '3', '4','5','6'); // n number of elements 
echo "<pre>"; print_r($array); die; 

は、そのは私にこの結果を与える

enter code here 
Array 
(
[0] => 1 
[1] => 2 
[2] => 3 
[3] => 4 
[4] => 5 
[5] => 6 
) 

私はしたい出力の何かのように: -

enter code here 
Array 
(

[0] => Array 
    (
     [0] => 1 
     [1] => 2 
    ) 
[1] => Array 
    (
     [0] => 3 
     [1] => 4 
    ) 
[2] => Array 
    (
     [0] => 5 
     [1] => 6 
    ) 
) 

缶誰も私がどのように2つの要素グループを作ることができますか - 配列要素は動的かもしれないnあなたはforeachを使用した例を要求している要素

+2

'array_chunk($配列、2);' –

+0

私はアイテムの数が偶数でない場合、どのようなforeachの – kunal

+0

のようにコアコーディングでやりたいがありませんか? – RomanPerekhrest

答えて

1

の数として、あなたはすべてのxをチェックするモジュラス%数学演算子を使用することができます。

$array = array(1, 2, 3, 4, 5, 6); 

$tmp = array();  // temporarily hold values 
$newarray = array(); // new array to hold final results 

foreach ($array as $key=>$value) { 
    $tmp[] = $value; // add this value to temporary variable 
    if (($key + 1) % 2 == 0) { 
     $newarray[] = $tmp; // add temporary variable to new array 
     $tmp = array(); // reset temporary variable 
    } 
} 


// add remaining from odd number (if any) 
if(count($tmp) > 0) { 
    $newarray[] = $tmp; 
} 
+0

@キラングは魅力のような作品をありがとうございます:)私が何をしているのかをグループで3つの要素をしたいのであれば、もっと説明してください – kunal

+0

@kunal - 'if(($ key + 1)%2 == 0)' 'if(($ key + 1)%3 == 0)' - 基本的に、 '%'の後の数字をあなたが望む数に変更するだけです。キャッチ 'if(count($ tmp)> 0){...}'は残りの要素を扱うことです(配列があなたが望む数で均等に割り切れない場合) - 例では、配列には24個の項目が含まれています。あなたは各グループに5つを望みます。このキャッチは最後の4つを取り、 '$ newarray'に入れます –

+0

okありがとう@kraang – kunal

関連する問題