我有一个从数据库中获取的多维数组,它的结构如下:
array(SESSION
array(items
array(DatabaseID
(ItemName, ItemCategory, Children,
array(Id1, Id2, Id3...)
etc..))))
我不确定这是你怎么写的,因为我是初学者,但我希望你能得到结论。如果我想访问某个项目的ItemCategory,我将项目的DatabaseID保存在$ DatabaseID中并写入:
$_SESSION['items'][$DatabaseID]['ItemCategory'];
如果我想要一个包含子项目数据库ID的数组我写道:
$_SESSION['items'][$DatabaseID]['Children'];
现在,我想对这个数组进行排序。我环顾四周,但我不明白如何按照我想要的方式对其进行排序。我想整理整个
$_SESSION['items']
根据ItemName而不是DatabaseID。这是可能吗?我的意思是,为每个DatabaseID ...
存储ItemName我想使用它来打印按名称而不是DatabaseID排序的所有项目。
我试过了
array_multisort($_SESSION['items'], $_SESSION['items']['DatabaseID']['ItemName']);
但问题在于
$_SESSION['items']['DatabaseID']['ItemName']
不是数组。
答案 0 :(得分:0)
一种更简单,更快捷的解决方案是使用SQL ORDER BY子句。
语法是:
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
您应该将此子句添加到现有的SQL语句中。