在foreach循环中创建多个数组php

问题描述:

我试图从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; 
} 

如果我弄错了,纠正我。

你想要做这样的事情:

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