在計算多維數組的count和foreach時遇到了一些麻煩。PHP - 通過基於計數的循環創建多維陣列
我目前在做以下從我的分貝的返回結果中創建一個關聯數組:
$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 /限制器)成組內容:
array (Group 1 =>
array([1] => CoolGame [2] => AnotherGame),
Group 2 =>
array([3] => BetterGame [4] => UglyGame)
)
因此,在這個例子中,我$depth_count = 2;
如果有人有興趣,我這樣做是系統自動產生的<optgroup>
標籤多工作通過CI的表單輔助函數的form_multiselect()函數中進行選擇。 需要一些幫助,以調整我的PHP,以允許這一點。謝謝!
+1,Touche。我忘了那個功能。我其實很喜歡,如果是任意分組。 –
+1 array_chunk(非常有用的功能,而陣列:) :) –
很酷的東西。完美的作品將是完整的解決方案,除了它創建數字索引數組鍵。我可以在事實之後迭代數組,並將「組」添加到每個鍵名稱。 – k00k