【发布时间】:2011-09-21 08:43:59
【问题描述】:
在为多维数组想出正确的 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)
....等等
但我想要做的是通过像这样的多维数组自动将结果(基于计数变量/限制器)分成组:
array (Group 1 =>
array([1] => CoolGame [2] => AnotherGame),
Group 2 =>
array([3] => BetterGame [4] => UglyGame)
)
所以在那个例子中,我的$depth_count = 2;
如果有人感兴趣,我这样做是为了通过 CI 的表单助手的 form_multiselect() 函数使用自动生成的 <optgroup> 标签进行多选。
需要一些帮助来调整我的 PHP 以实现这一点。谢谢!
【问题讨论】:
标签: php mysql codeigniter multidimensional-array