2010-04-07 70 views
3

我在PHP中創建了一個調用webservice並解析結果的函數,爲變量賦值並將它們全部作爲數組返回。這一切都完美的作品,但是我所遇到需要有在PHP函數中添加數組中的數組

我分配如下值「我的數組內數組」的:

$productName = $product->Name; 
$productID = $product->ID; 

$productArray = array(
      'productName' => "$productName", 
      'productID' => "$productID" 
      ); 

return $productArray; 

但是我現在有一個數據說回來有多個結果,所以我需要有一個額外的數組來存儲這些,我使用foreach循環從返回的XML中獲取值,但是我希望能夠使用名稱將它們添加到數組中,以便我可以引用它們返回的數據,這是我遇到問題的地方...

$bestForLists = $product->BestFors; 
     foreach($bestForLists as $bestForList) 
     { 
      $productBestFors = $bestForList->BestFor; 
      foreach($productBestFors as $productBestFor) 
       { 
        $productBestForName = $productBestFor->Name; 
        $productBestForID = $productBestFor->ID; 
       } 
     } 

我嘗試使用下面的代碼創建這些數組:

$bestForArray[] = (array(
       "productBestForID" => "$productBestForID", 
       "productBestForName" => "$productBestForName" 
       )); 

,然後在年底這些一起合併:

$productArray= array_merge($productArray,$bestForArray); 

如果我打印出來的返回值,我得到:

Array ([productName] => Test Product [productID] => 14128 [0] => Array ([productBestForID] => 56647 [productBestForName] => Lighting) [1] => Array ([productBestForID] => 56648 [productBestForName] => Sound))    

我想給內部數組一個名字,以便我可以在我的代碼中引用它,或者有更好的方法來做到這一點,此刻我在我的PHP頁面中使用以下內容來獲取值:

$productName = $functionReturnedValues['productName']; 

我想用下面的訪問數組然後我可以遍歷:

$bestForArray = $functionReturnedValues['bestForArray']; 

希望有人能幫助

回答

3

你可以寫

$productArray['bestForArray'] = $bestForArray; 

代替的

$productArray= array_merge($productArray,$bestForArray); 

告訴我,這是否有竅門! 傑羅姆·瓦格納

+0

完美,沒想到會那麼簡單!謝謝 – 2010-04-07 10:49:41