Я боролся с этим весь день и хотел бы, чтобы другой набор глаз мог дать мне некоторое представление. Я не уверен, что даже приближаюсь к этому правильным способом. У меня есть массив, в котором перечислены продукты, купленные, однако, если продукт дублируется в массиве, я хочу объединить атрибуты вместе., если значение массива одинаково, то добавьте в существующий массив
$order = $order->getProducts();
$newArray = array();
foreach ($order as $order)
{
$product = new Product($order['product_id']);
$combination = new Combination($order['product_attribute_id']);
$attribute = $combination->getAttributesName($context->language->id);
foreach ($attribute as $attribute)
$attributeName = $attribute['name'];
$newArray[] = array(
'id_product' => $order['product_id'],
'name' => $product->name[$context->language->id],
'combination' => array(
'id_product_attribute' => $order['product_attribute_id'],
'type' => $attributeName
)
);
}
Мой массив приходит вне глядя, как этот
Array (
[0] => Array
(
[id_product] => 117
[name] => Sidewinder 1-Foot Extension
[combination] => Array
(
[id_product_attribute] => 172
[type] => Black
)
)
[1] => Array
(
[id_product] => 117
[name] => Sidewinder 1-Foot Extension
[combination] => Array
(
[id_product_attribute] => 173
[type] => Black & Yellow
)
)
[2] => Array
(
[id_product] => 119
[name] => ENV100
[combination] => Array
(
[id_product_attribute] => 0
[type] => Black & Yellow
)
)
)
Я желающей, чтобы попытаться достичь этого
Array (
[0] => Array
(
[id_product] => 117
[name] => Sidewinder 1-Foot Extension
[combination] => Array
(
[0] => Array
(
[id_product_attribute] => 172
[type] => Black
)
[1] => Array
(
[id_product_attribute] => 173
[type] => Black & Yellow
)
)
)
[1] => Array
(
[id_product] => 119
[name] => ENV100
[combination] => Array
(
[id_product_attribute] => 0
[type] =>
)
)
)
array_merge_recursive –
Храните 'id_product' в какой-то таблице поиска - ключ' id_product', значение - индекс в 'newArray' –
, если вы используете id_product в качестве ключа массива, это значительно облегчит жизнь, иначе вам придется зацикливать всю вещь каждый раз, чтобы найти, к какой подмассиве добавить. – 2014-09-10 20:25:38