2017-10-18 59 views
0

我試圖從foreach循環創建多個數組,因此每次它循環通過項目時,它會創建一個數組,其中包含所有值。然後我希望將這些數組插入到aa主陣列。在foreach循環中創建多個數組php

所以基本上,我想產品名稱,編號,數量等在一個數組中,然後下一個項目在另一個。這些將在$ cartinfo數組中。

目前,當它遍歷項目時,它將它們添加到單個數組中。任何人都可以幫助我嗎?

function cart_items_array() { 

    $cartinfo = array(); 

    $carts2 = MultiCart\get_carts(); 

    foreach ($carts2 as $cart2_id => $cart2) { 
     // get array of items contained in a cart ... 
     $items2 = MultiCart\get_cart($cart_id2); 

     foreach ($items2 as $item2_id => $item2) { 

       $product_name = get_post($item2['product_id'])->post_title; 
       $familyterms = wp_get_post_terms($item2['product_id'], 'pa_product-family'); 
       $cat_terms = wp_get_post_terms($item2['product_id'], 'pa_product-category'); 
       $product_sku = get_post_meta($item2['product_id'], '_sku', true); 

       $cartinfo[] = $product_sku; 
       foreach ($cat_terms as $cat_term) { $cartinfo[] = $cat_term->name; }; 
       foreach ($familyterms as $family) { $cartinfo[] = $family->name; }; 
       $cartinfo[] = $product_name; 
       $cartinfo[] = $item2['quantity']; 
       $cartinfo[] = $cart2['name']; 

     } 
    } 

    return $cartinfo; 
} 

回答

0

如果我弄錯了,糾正我。

你想要做這樣的事情:

function cart_items_array() { 

$cartinfo = array(); 

$carts2 = MultiCart\get_carts(); 

// All the products 
$allTheCarts = array(); 

foreach ($carts2 as $cart2_id => $cart2) { 
    // get array of items contained in a cart ... 
    $items2 = MultiCart\get_cart($cart_id2); 

    foreach ($items2 as $item2_id => $item2) { 
      $compProduct = array(); 
      $product_name = get_post($item2['product_id'])->post_title; 
      $familyterms = wp_get_post_terms($item2['product_id'], 'pa_product-family'); 
      $cat_terms = wp_get_post_terms($item2['product_id'], 'pa_product-category'); 
      $product_sku = get_post_meta($item2['product_id'], '_sku', true); 

      $cartinfo[] = $product_sku; 
      foreach ($cat_terms as $cat_term) { $cartinfo[] = $cat_term->name; }; 
      foreach ($familyterms as $family) { $cartinfo[] = $family->name; }; 
      $cartinfo[] = $product_name; 
      $cartinfo[] = $item2['quantity']; 
      $cartinfo[] = $cart2['name']; 

      // Store the complete product info 
      $allTheCarts[] = $cartinfo; 
    } 
} 

return $allTheCarts; 
} 
+0

嗨夥計, 感謝在這找我。 我希望能夠將每個產品存儲在自己的數組中,因此最終結果如下所示: $ allthecarts = array(array('product-name-1','product-id-1')array ('product-name-2',product-id-2))等 我嘗試了你的建議,但它輸出爲array(); – Shaun