Вместо функций, возвращающих массивы всех заголовков и всех изображений, вам потребуются функции, которые возвращают только заголовки или изображения, связанные с одним идентификатором. Мы не видим, как вы определяете свои функции.
//Get all your ids
$array_id = getIds();
// Functions take an id and retrieve only its related objects
function getTitles($id) {}
function getImages($id) {}
//Iterate over the ids, and retrieve the titles and images for each
foreach ($array_id as $id)
{
// getTitles returns an array, keyed as 'titles' in the id array
$id['titles'] = getTitles($id);
// getImages returns an array, keyed as 'images' in the id array
$id['images'] = getImages($id);
}
// Now you can retrieve them like so:
// A single title...
echo $array_id[0]['titles'][0];
// All titles
print_r($array_id[0]['titles'];
Структура вашего результирующего массива выглядит примерно так:
Array
(
[0] => Array
(
[titles] => Array
(
[0] => title 0a
[1] => title 0b
[2] => title 0c
)
[images] => Array
(
[0] => img0a.jpg
[1] => img0b.jpg
)
)
[1] => Array
(
[titles] => Array
(
[0] => title 1a
[1] => title 1b
[2] => title 1c
)
[images] => Array
(
[0] => img1a.jpg
[1] => img1b.jpg
)
)
[2] => Array
(
[titles] => Array
(
[0] => title 2a
[1] => title 2b
[2] => title 2c
)
[images] => Array
(
[0] => img2a.jpg
[1] => img2b.jpg
)
)
)
Если вам это поможет, вот что я использовал для создания макета массива с помощью интерактивного интерпретатора php -a
:
php > $ids = array();
php > $ids[0] = array('titles'=>array('title 1', 'title 2', 'title 3'), 'images'=>array('img1.jpg', 'img2.jpg'));
php > $ids[1] = array('titles'=>array('title 1a', 'title 1b', 'title 1c'), 'images'=>array('img1a.jpg', 'img1b.jpg'));
php > $ids[2] = array('titles'=>array('title 2a', 'title 2b', 'title 2c'), 'images'=>array('img2a.jpg', 'img2b.jpg'));
php > $ids[0] = array('titles'=>array('title 0a', 'title 0b', 'title 0c'), 'images'=>array('img0a.jpg', 'img0b.jpg'));
php > print_r($ids);