Po pewnym problemie wymyślono odpowiednią kombinację count i foreach dla tablicy wielowymiarowej.PHP - Utwórz tablicę wielowymiarową za pomocą pętli opartej na liczbie:
Jestem obecnie w następujący sposób, aby utworzyć tablicę asocjacyjną z mojego DB zwróconego wyniku:
$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;
To oczywiście powoduje następujące array (który działa dobrze; kod semi-pseudo):
array ([1] => CoolGame, [2] => AnotherGame, [3] => BetterGame, [4] => UglyGame)
.... i tak dalej
ale to, co chcesz zrobić, to automatycznie zerwać wyniki (na podstawie zliczania var/limiter) do grup poprzez tablicy wielowymiarowej tak:
array (Group 1 =>
array([1] => CoolGame [2] => AnotherGame),
Group 2 =>
array([3] => BetterGame [4] => UglyGame)
)
Więc w tym przykładzie, mój $depth_count = 2;
W przypadku gdy ktoś jest zainteresowany, robię to do pracy z generowanych automatycznie <optgroup>
tagów multi wybrać poprzez form_multiselect funkcji CI Kształt Pomocników(). Potrzebujesz pomocy przy ulepszaniu mojego PHP, aby to umożliwić. Dzięki!
+1, Touche. Zapomniałem o tej funkcji. Właściwie to lubię, jeśli jest to arbitralne grupowanie. –
+1 array_chunk (bardzo przydatna funkcja podczas gry z tablicami :)) –
Fajne rzeczy. Działa doskonale i stanowiłoby kompletne rozwiązanie, oprócz tego, że tworzy numerycznie indeksowane klucze tablicowe. Prawdopodobnie mogę powtórzyć całą tablicę po fakcie i dodać "Grupę" do każdej nazwy klucza. – k00k