2016-12-20 11 views
0

私は現在3つの連想配列を持っています。私は1つの多次元配列に変換する必要があります。私は解決策が初心者のように感じますが、私はそれをオンラインで見つけることはできません。PHPの既存の配列から多次元配列を作成する

私はバックエンドで持っているMySQLテーブルからデータを引き出しているので、配列はかなり長いので、手作業で配列を書き出したくないので、ループを使うよりも簡単な方法があるとします。私は配列をシリアル化しているので、フォーム上の「隠れた」入力を渡すことができます。

だから、どのように私はオンになります。

Array1[] 
Array2[] 
Array3[] 

BigArray[Array1[],Array2[],Array3[]]; 

への感謝を!

+0

ためにここにあります同じ大きな配列? – AbraCadaver

+0

'$ newArray [] = $ array1; $ newArray [] = $ array2; '? –

+0

また、これは良いとは思えません_配列をシリアライズして、フォームの「隠れた」入力に渡すことができるようにします。 – AbraCadaver

答えて

0

しかしちょうどこの事実の後に、データベースの外に配列を引き出したときに、より大きな配列内の配列として、それらを設定することが容易になるだろう:データベースから取得するための

$BigArray = [$Array1, $Array2, $Array3]; 
//or 
$BigArray = array($Array1, $Array2, $Array3); 

例:

//query 
while ($row = $result->fetch_assoc()) { 
    $Array1[] = $row; 
} 
$BigArray[] = $Array1; 

//query 
while ($row = $result->fetch_assoc()) { 
    $Array2[] = $row; 
} 
$BigArray[] = $Array2; 
+0

これはそれでした!ありがとう! – noscrodamus

-1

非常に単純な

BigArray[] = Array1; 
BigArray[] = Array2; 
BigArray[] = Array3; 

これはBigArray(マルチダイムを行いますnsional)配列。あなたは多次元配列をしたくない場合は、この

BigArray[] = implode(',', Array1); 
BigArray[] = implode(',', Array2); 
BigArray[] = implode(',', Array3); 
+0

これは配列を上書きしませんか? – noscrodamus

+0

いいえ、これは数値配列を作成します。 BigArray [0] = Array1のように。 BigArray [1] = Array2; BigArray [2] = Array3; –

+0

残念ながら、それはPHPではありません。 – AbraCadaver

0

使用array_mergeのようなあなたのロジックを変更する必要がありますにDBからそれらを引っ張らないなぜこの:)

$bigArray = array_merge($array1, $array2, $array3);