$products = []; // ваш массив с товарами
/**
* Группирует любой массив массивов по любому полю $indexKey в качестве индекса
*/
function groupBy(array $input, string $indexKey): array
{
return array_reduce($input, function($res, $data) use ($indexKey){
if (!isset($data[$indexKey])) {
return $res;
}
$res[$data[$indexKey]][] = $data;
return $res;
}, []);
}
$groupedProducts = groupBy($products, 'catID');
// такое работает при условии, что категория с одним id будет иметь последнее название из найденных,
// то есть если id один, а название разные, то возможны не ожидаемые результаты
$categories = array_column($products, 'catName', 'catID');
foreach($groupedProducts as $catId => $catProducts) {
// тут доступно название категории $categories[$catId] и ее $catId
foreach($catProducts as $product) {
// тут выводим сами товары $product
}
}
Для PHP 5 нужно [] заменить на array(), предлагаю это сделать самому :)
data = [[34225, "EK", Array(2)], [74322, "EK", Array(2)], [53769, "MH", Array(2)],[53281, "SU", Array(2)], [30178, "EK", Array(2)]]
data.sort((a, b) => a[0] - b[0])
hash.split("/")
align-items: center
родителю или align-self: center
квадрату.needle
Если параметр needle не является строкой, он преобразуется в целое число и трактуется как код символа. Это поведение устарело с PHP 7.3.0, и полагаться на него крайне не рекомендуется. В зависимости от предполагаемого поведения, параметр needle должен быть либо явно приведен к строке, либо должен быть выполнен явный вызов chr().
Deprecated: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in /in/2JE4h on line 4
$user_ip = (string)94301750;
$user_ip = '94301750';
arr[0] // первый элемент, объект:
{
variation: {
attributes: {
"attribute_pa_obem": "500-gr",
"attribute_pa_czvet-produkta": "c-110-goluboj"
}
}
}
variation
: arr[0].variation // там объект с единственным свойством "attributes"
attributes
: arr[0].variation.attributes // там объект с искомыми двумя свойствами
arr[0].variation.attributes["attribute_pa_obem"] // "500-gr"
arr[0].variation.attributes["attribute_pa_czvet-produkta"] // "c-110-goluboj"
const ref = arr[0].variation.attributes;
ref["attribute_pa_obem"] // "500-gr"
ref["attribute_pa_czvet-produkta"] // "c-110-goluboj"
arr[0].variation.attributes.attribute_pa_obem // "500-gr"
// или
ref.attribute_pa_obem // "500-gr"