Возникли проблемы с правильной комбинацией count и foreach для многомерного массива.
В настоящее время я делаю следующее, чтобы создать ассоциативный массив из возвращенного результата моей базы данных:
$sql = "SELECT g.id, g.shortname FROM games g ORDER BY g.id ASC";
$query = $this->db->query($sql);
if($query->num_rows() > 0):
foreach($query->result() as $row):
$data[$row->id] = $row->shortname;
endforeach;
return $data;
else:
return false;
endif;
Это, конечно, приводит к следующему массиву (который отлично работает; полу-искусственный код):
array ( [1] => CoolGame, [2] => AnotherGame, [3] => BetterGame, [4] => UglyGame)
.... и так далее
Но я хочу автоматически разбить результаты (на основе счетчика var / limiter) на группы с помощью многомерного массива, например:
array (Group 1 =>
array([1] => CoolGame [2] => AnotherGame),
Group 2 =>
array([3] => BetterGame [4] => UglyGame)
)
Так что в этом примере мой $depth_count = 2;
На случай, если кому-то будет интересно, я делаю это для работы с автоматически сгенерированными тегами <optgroup>
для множественного выбора с помощью функции form_multiselect () помощника по формам.
Нужна помощь в настройке моего PHP, чтобы учесть это. Спасибо!