在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;
}
嗨伙计, 感谢在这找我。 我希望能够将每个产品存储在自己的数组中,因此最终结果如下所示: $ allthecarts = array(array('product-name-1','product-id-1')array ('product-name-2',product-id-2))等 我尝试了你的建议,但它输出为array(); – Shaun