PHP多维数组的SQL结果
我正在使用“连接方式”功能从Oracle数据库中检索一些分层数据 然后用查询结果填充一个PHP数组,如下所示:PHP多维数组的SQL结果,php,sql,arrays,multidimensional-array,Php,Sql,Arrays,Multidimensional Array,我正在使用“连接方式”功能从Oracle数据库中检索一些分层数据 然后用查询结果填充一个PHP数组,如下所示: while ($row_branches = oci_fetch_array($query_tree)) { $tree[] = array( 'id' => $row_branches['ID'] , 'parent' => $row_branche['PARENT'] , 'data' => htmlspecialchars($row_
while ($row_branches = oci_fetch_array($query_tree)) {
$tree[] = array(
'id' => $row_branches['ID']
, 'parent' => $row_branche['PARENT']
, 'data' => htmlspecialchars($row_branches['NAME'])
, 'level' => $row_branches['LEVEL']
);
}
字段ID是行的唯一ID
字段PARENT是父项的ID
字段数据是项的名称
字段级别是层次结构中行的级别
我宁愿使用多维数组,因为我的目标是使用PHP函数json_decode()
层次结构的深度永远不会事先知道
所以我的问题是:
如何用查询结果填充多维数组
提前感谢您的回答。试试这个
function adj_tree(&$tree, $item) {
$i = $item['ID'];
$p = $item['PARENT'];
$tree[$i] = isset($tree[$i]) ? $item + $tree[$i] : $item;
$tree[$p]['_children'][] = &$tree[$i];
}
$tree = array();
while ($row = oci_fetch_array($query_tree)) {
adj_tree($tree, $row);
这是一份副本:谢谢你的回答,马克。我可能遗漏了一些东西,因为我已经看完了你建议的帖子,并且我成功地生成了多维数组,但我的问题更多地与php函数json_encode()使用的正确格式有关,以便能够将数据传递到AJAX应用程序。谢谢你的快速回复。它非常有用,但不幸的是,由于某种原因,我无法获得与PHP函数json_encode()结合使用的正确数组格式。但再次感谢你的帮助,我会继续挖掘。