2017-10-18 21 views
0

foreachループから複数の配列を作成しようとしているので、項目をループするたびにすべての値を含む配列が作成されます。これらをaaに挿入しますメインアレイ。foreachループPHPで複数の配列を作成する

本質的に、私は製品名、id、数量などを1つの配列に入れ、次の項目を別の配列にします。これらは、メインの$ cartinfo配列の中にあります。

現在、アイテムをループすると、1つの配列に追加されます。誰も私を助けることができますか?

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')配列( 'product-name-2'、product-id-2))など あなたが示唆したことを試しましたが、array();として出力しています。 – Shaun

関連する問題