2012-04-13 3 views
0

私はここで誰かの知識を求めています。PHPの関数に依存する複数の配列をマージするには?

今、私はいくつかの配列をより大きなものにマージする必要がありますが、それらの配列はすべて関数に依存しています。

この関数は1と7の間の数の異なる量を含む数値配列を返す:

function Possible($i, $j, $grid) 
$possible = Possible($i, $j, $grid) 

Iはグリッドで働いている、および機能は、グリッドのすべての場合に異なる配列を返します。私がしたいのは、これらの7つの配列を別の配列にマージすることです。いくつかの数字がこの大きな配列に複数回存在するかもしれませんが、私はこのようにしたいと思います。

私はループを使用してみましたが、ループやいくつかの他の手法では、何も働いていませんでした。この場合、グリッドに含まれている内容に応じて変化するため、手動で配列を定義することは不可能です。それは自動的に行われなければなりません、そして、これが私が立ち往生する場所です。

誰かが私を助けてくれてありがとう!

Etpi

+2

**は配列の内容の一例**、あなたがに結果を希望するものの一例を投稿してくださいさあ。状況のあなたの記述はterrifically明確ではありません。 – deceze

答えて

0

すみませんが、あなたの説明は非常に明確ではありません。しかし、ちょうどあなたがこのソリューションを見るかもしれないあなたを始めさせるために。各グリッドの小さな配列を作成し、あなたはこれにより、次に1つのより大きな配列にそれをマージするforループに配置することができますいくつかの小さな配列を取得return $arrayを使用してそれを戻すことにより

function Possible($i, $j, $grid) { 
    // some code ... e.g. $array[] = "some data"; 

    return $array; 
} 

。しかし、私はvar $jjは、それも同様に機能でいくつかの意味を持っている必要がありますと信じています。

たぶん
for($jj=0;$jj<7;$jj++) { 
    $merged_array[$jj] = Possible($i,$j,$grid); 
} 

あなたはもう少しあなたの問題をdescripe、私はあなたのより良い答えを与えることができて、アレイの作業のexmpleを投稿した場合。

+0

ええ、jj変数については申し訳ありませんが、単純に "j"であるはずです。ちょうどそれを編集しました。 [現在多くの情報を書いています] – Etpi

+0

jj変数については申し訳ありませんが、単純に "j"であるはずです。ちょうどそれを編集しました。 私は理解するのが少し難しいかもしれないと思った。 ここにその機能があります。($ i、$ j、$ grid){ $ Row = PossibleRow($ i、$ grid); $ Column = PossibleColumn($ j、$ grid); $ inter2 = array_intersect($ Row、$ Column); ; ますreturn $ inter2私が働いている配列の ' 例: 可能な機能(3、4、$グリッド)(、1、3 4、5)。このような配列を返します – Etpi

+0

それから数字が含まれています1〜7、症例の配列あたり1〜7の数字。 グリッドの行のすべての場合に数値のすべての値を1つの大きな配列に格納しようとしています。 (1、2、2、4、5、5、5、5 、6、6、7、7、7) – Etpi

1

希望このヘルプ:

$biggerOneArray = array(); 
    for($k=0;$k<7;$k++) { 
    $biggerOneArray[] = Possible($i,$j,$grid); 
} 

次に、あなたがあなたの大きな配列を確認することができ、5月には、(7つの配列が合併)、ループのすべての反復配列が含まれています。

var_dump($biggerOneArray); 

出力はこのようになります。

array(
     (int) 0 => array(
      'key' => 'value', 
      'key2' => 'value2' 
      ), 
     (int) 1 => array(
      'key3' => 'value3', 
      'key4' => 'value4' 
      ) 
) 

等...

+0

var_dump($ biggerOneArray); これは、多くのメッセージを返します。 '配列 空 ' $ biggerOneArrayに値が追加されていないようです。 – Etpi

+0

次に、 "Possible"機能が配列を返しているかどうかを確認する必要があります。 – BruneX