Я бы настоятельно рекомендовал вам перепроектировать ваш массив, когда вы заполняете их данными, чтобы вместо этого выглядел примерно так:
Array (
[0] => Array (
[cat_id] => 1
[cat_name] => Category 1
[images] = Array(
[0] => Array (
[img_id] => 4
[img_name] => demo3.jpg
[img_label] => Demo 3
[category_id] => 1
[img_order] => 1
)
)
)
[1] => Array (
[cat_id] => 2
[cat_name] => Category 2
[images] = Array(
[0] => Array (
[img_id] => 4
[img_name] => demo3.jpg
[img_label] => Demo 3
[category_id] => 1
[img_order] => 1
)
[1] => Array (
[img_id] => 2
[img_name] => demo1.jpg
[img_label] => Demo 1
[category_id] => 2
[img_order] => 1
)
)
)
)
Тогда у вас будут все связанные данные и вам просто придется перебиратьмассив категорий и распечатать изображений , связанных с каждым по очереди.Нумерованные индексы можно даже изменить на ассоциативные имена, если, например, id категории не были важны.Тогда массив может быть проиндексирован с именем категории и просто содержать images этой категории.
Если изображения будут использоваться в других местах, гдеваша первоначальная компоновка лучше подходит, но вы все равно можете использовать эту компоновку для своего основного графика данных.Просто замените фактические данные изображений в массиве изображений в каждой категории на ссылку на фактический объект изображения.