Я не думаю, что вам нужно иметь многомерный массив для этого.Ваши изображения должны по-прежнему иметь последовательный идентификатор от 1 до n, поэтому будет легко реализовать вашу функцию next () и prev ().
Например, у меня есть этот результат из моего запроса MySQL.
Array
(
[0] => Array
(
[title] => Title test
[src] => /images/1.jpg
)
[1] => Array
(
[title] => Title
[src] => /images/12123.jpg
)
[2] => Array
(
[title] => Image
[src] => /images/32132.jpg
)
[3] => Array
(
[title] => Image test
[src] => /images/332.jpg
)
)
Затем вы обрабатываете создание сетки в своем представлении.
$width = 2; // max_width of your grid
echo "<table border=1>\n";
foreach ($main as $id => $img)
{
if ($id % $width == 0)
echo "<tr>\n"; // create a new row if the width has been reached
echo "<td>".$img['src']."</td>";
}
echo '</table>';
Тогда ваш javascript для переключения между изображениями должен быть намного проще, поскольку вам нужно только увеличивать и уменьшать идентификатор, а не вычислять его, когда у вас есть
[0][0] [0][1] [0][2]
[1][0] [1][1] [1][2]