2012-04-13 33 views
0

我在這裏尋找某人的知識。如何合併取決於PHP中的函數的多個數組?

現在,我需要將幾個數組合併成一個更大的數組,但所有這些數組都依賴於一個函數。

該函數返回一個包含1和7之間的不同量的數字的數字數組:

function Possible($i, $j, $grid) 
$possible = Possible($i, $j, $grid) 
我正在與一個網格工作,並且該函數返回爲網格的每一個有不同的陣列。我想要做的是將這7個數組合併成另一個數組。一些數字可能會在這個大陣列中出現不止一次,但我希望這樣。

我嘗試使用for循環,雖然循環和一些其他技術,但沒有奏效。在這種情況下,不可能手動定義每個數組,因爲它們根據網格中包含的內容而變化,並且數量太多。它必須自動完成,這是我卡住的地方。

for ($jj=0; $j<7; $j++){ 
    $possRow = array_merge(###what do I add here or what do I change in this code to make everything work### 

謝謝,如果有人能幫助我!

Etpi

+2

請張貼的**數組內容**一個例子,你想什麼結果的例子是。你對這種情況的描述不是很清楚。 – deceze 2012-04-13 02:22:31

回答

0

對不起,但您的描述不是很清楚。但爲了讓你開始,你可以看看這個解決方案。

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

    return $array; 
} 

通過爲每個網格一小陣,並使用return $array你會得到一些小的數組,你可以inturn放入一個for循環將其合併成一個更大的陣列返回它。不過我相信var $jj在它自身的功能中也必須有一些含義。

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

也許如果你多描述一下你的問題併發佈一個數組的實例你的工作與我可以給你一個更好的答案。

+0

耶對於jj變量感到抱歉,它們應該是簡單的「j」。剛剛編輯。 [目前寫更多信息] – Etpi 2012-04-13 03:06:21

+0

對於jj變量抱歉,它們應該簡單地稱爲「j」。剛剛編輯。 我認爲這可能有點難以理解。 這裏有這個功能。($ i,$ j,$ grid){ >'函數可能的($ i,$ j,$ grid){ $ Row = PossibleRow($ i,$ grid); $ Column = PossibleColumn($ j,$ grid); $ inter2 = array_intersect($ Row,$ Column); 返回$ inter2;陣列我正在使用的' 實施例: 函數可能(3,4,$格)返回這樣的陣列(1,3,4,5) – Etpi 2012-04-13 03:17:09

+0

它包含從數字1至7,每個病例陣列1至7個數字。 我試圖將數字的每一個數值存儲在一個更大的數組中的一行網格中,這將是: (1,2,4,4,5,5,5,5 ,6,7,7,7) – Etpi 2012-04-13 03:17:42

1

希望這有助於:

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

然後你就可以檢查你的更大的陣列,可以包含循環迭代的所有陣列(7個陣列合併)。

var_dump($biggerOneArray); 

輸出應該是這樣的:

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

等等

+0

var_dump($ biggerOneArray); 這會返回很多消息: 'array empty' 似乎沒有值被添加到$ biggerOneArray中。 – Etpi 2012-04-13 04:24:35

+0

然後你應該檢查你的函數「Possible」是否返回一個數組。 – BruneX 2012-04-17 11:25:42