У меня есть массив как это:PHP: Array Сегрегация по индексу стоимости
[
{
"id": "13216",
"image_type": "ThumbnailImage",
"is_primary": "1"
},
{
"id": "13217",
"image_type": "MediumImage",
"is_primary": "1"
},
{
"id": "13218",
"image_type": "LargeImage",
"is_primary": "1"
},
{
"id": "13219",
"image_type": "ThumbnailImage",
"is_primary": "0"
},
{
"id": "13220",
"image_type": "MediumImage",
"is_primary": "0"
},
{
"id": "13221",
"image_type": "LargeImage",
"is_primary": "0"
}
]
Я хочу, чтобы преобразовать это в этом:
[
"ThumbnailImage" => [
{
"id": "13216",
"image_type": "ThumbnailImage",
"is_primary": "1"
},
{
"id": "13219",
"image_type": "ThumbnailImage",
"is_primary": "0"
},
],
"MediumImage" => [
{
"id": "13217",
"image_type": "MediumImage",
"is_primary": "1"
},
{
"id": "13220",
"image_type": "MediumImage",
"is_primary": "0"
},
],
"LargeImage" => [
{
"id": "13218",
"image_type": "LargeImage",
"is_primary": "1"
},
{
"id": "13221",
"image_type": "LargeImage",
"is_primary": "0"
}
]
]
Я ищу для динамического решения, в котором я могу указать имя ключа и автоматически выделяет массив на основе значений этого индекса, например в этом случае, если я укажу имя индекса image_type, он должен дать мне упомянутый вывод, и если я укажу is_primary, он должен вернуть индексы 0 и 1 с их значениями.
FINAL РЕШЕНИЕ:
public function segregateByIndex($array, $segregateKey)
{
$result = [];
foreach($array as $val) {
$result[$val[$segregateKey]][] = $val;
}
return $result;
}
Вы 3k репутацию и мне еще нужно спросить, что вы пробовали до сих пор? Для чего тэг php я могу видеть только JSON? – swidmann
Этот массив показан для целей понимания структуры данных. Я знаю, что синтаксис напоминает формат JSON. –
Плюс иногда человек не знает, с чего начать. Я попытался найти много, но не смог найти ничего похожего на это. –