2012-08-23 126 views
0

我試圖訪問多個值,在多個foreach循環的循環外:多foreach循環和訪問值

foreach(array1 as arr1) { 
    $var1 = arr2['value1']; //$array is associative array with mutliple keys value1 
} 

然後,我有另一種

foreach(array2 as arr2) { 
    $var2 = arr2['value']; //$array2 is another associative array with multiple keys value 
} 

所有這一切都是內另一個大的foreach循環,現在我想在foreach的大和$var2被使用時創建一個數組。我將要創建的這個數組也將成爲一個關聯數組。任何想法我可以做到這一點?

陣列1:

Array 
(
    [0] => Array 
    (
     [id] => 1 
     [id_name] => 251452 
     [name] => bob 
    ) 

[1] => Array 
    (
     [id] => 2 
     [id_name] => 251453 
     [name] => bob 

    ) 

) 

陣列2:

Array 
(
[0] => Array 
    (
     [id_person] => 4 
     [id_last_name] => 251452 
     [last_name] => smith 

    ) 

[1] => Array 
    (
     [id_person] => 15 
     [id_last_name] => 251453 
     [last_name] => johnson 
    ) 

) 

假定這些來自從數據庫中的兩個不同的查詢。

我想從第一個數組中獲取每個數組的名字,並從第二個數組中獲取每個數組的名字,並創建一個包含其他數據的數組。

+0

如果我們有什麼您的源陣列的想法這將有助於(s)和你的預期產出應該是。這是完全可能的,你的內部'foreach'循環可以從使用鍵/值風格中獲益:'foreach($ array1 as $ key1 => $ value1){...}' –

+0

no key => value不會幫助我生病更新我的問題,使其更好 – Yeak

回答

2

查看多維數組。

也可以看一下stdclass,也許可以創建一個這樣的數組,這些數組可以在一個定義中存儲多個變量 - 這可以在很多方面提供幫助。 (標準級)

嵌套循環 - 這將只是轉儲全部子排列爲一個對象 //對象和數組的例子爲InnerArray

$Object = new stdclass(); 
$AllOfIt = array(); 
$cnt = 0; 
foreach($OuterArray as $OuterKey => $InnerArray) 
{ 
     $cnt++; 
     foreach($InnerArray as $InnerKey => $InnerValue) 
     { 
      $Object->$cnt = $InnerValue; 
      $AllOfIt[$cnt] = $InnerValue; 
     } 
}