2017-04-19 98 views
0

您好目前我正在使用循環的一些多維數組操作。如何將循環通過多維數組轉換爲函數

其實我必須通過multidimentional數組功能,並在該函數中我需要整個數組數據。

但是,這裏的問題是我只有單個項目的數組不是所有項目的數組函數。

下面我已經嘗試代碼:

foreach($sp_data as $sp_product_data) // this loop is for another purpose 
       { 

        $sp_product_details = (array)$sp_product_data; 
        $product_links = array(array(
        'sku' => $gp_sku, 
        'link_type' => 'associated', 
        'linked_product_sku' => $sp_product_details['sku'], 
        'linked_product_type' => 'simple', 
        'position' => '1',  
       ) 
       ); 
      echo "<pre>"; 
      print_r(product_links); //When i am printing the data its shows me all array items 

     $this->testproduct($product_links); // but when i am pass the data to function and in that function when i displayed data its gives only first array item 
       } 

我的功能:

function testproduct($product_links) 
{ 
echo "<pre>"; 
print_r($product_links); 
} 

在功能我得到陣列的只有第一項。請幫助我所缺少的

+1

在調用testproduct函數之前嘗試使用array_push – Akintunde007

+1

@Manthan您能否以預期的輸出更新您的文章? –

回答

1

對於顯示整個數組,你必須這樣做 使用此格式

$product_links[]=array(
       'sku' => $gp_sku, 
       'link_type' => 'associated', 
       'linked_product_sku' => $sp_product_details['sku'], 
       'linked_product_type' => 'simple', 
       'position' => '1',  
       ); 
}#end of foreach loop 
#now call the testproduct function. THis line must be outside the loop 

$this->testproduct($product_links); 
+0

也叫循環外的「testproduct」 – Shaniawan

+0

感謝它的作品像魅力!簡短而簡單。再次感謝 –

1

使用array_push這個 因此,代碼應該是這樣的

$custom_product_data = array(); 
foreach($sp_data as $sp_product_data) { 
    $sp_product_details = (array)$sp_product_data; 
    $product_links = array(
     'sku' => $gp_sku, 
     'link_type' => 'associated', 
     'linked_product_sku' => $sp_product_details['sku'], 
     'linked_product_type' => 'simple', 
     'position' => '1',  
); 

    if(is_array($product_links)) { 
     array_push($custom_product_data, $product_links); 
    } 
    } 

    $this->testproduct($custom_product_data); 

備註

不要僞造t在循環之外使用測試產品功能。否則它不會給你結果。

+0

謝謝你的幫助:) –