【发布时间】:2015-09-30 08:51:39
【问题描述】:
我有一个从数据库中获取的多维数组,它的结构如下:
array(SESSION
array(items
array(DatabaseID
(ItemName, ItemCategory, Children,
array(Id1, Id2, Id3...)
etc..))))
由于我是初学者,我不确定你是这样写的,但我希望你能理解结构。如果我想访问某个项目的 ItemCategory,我将项目的 DatabaseID 保存在 $DatabaseID 中并写入:
$_SESSION['items'][$DatabaseID]['ItemCategory'];
如果我想要一个包含我写的子项的 DatabaseID 的数组:
$_SESSION['items'][$DatabaseID]['Children'];
现在,我想对这个数组进行排序。我环顾四周,但我不明白如何按照我想要的方式对其进行排序。我想对整体进行排序
$_SESSION['items']
根据 ItemName 而不是 DatabaseID。这是可能吗?我的意思是,ItemName 是为每个 DatabaseID 存储的......
我想使用它来打印所有按名称而不是 DatabaseID 排序的项目。
编辑
我试过了
array_multisort($_SESSION['items'], $_SESSION['items']['DatabaseID']['ItemName']);
但问题是
$_SESSION['items']['DatabaseID']['ItemName']
不是数组。
【问题讨论】:
-
很遗憾没有... @Epodax
-
在最后两个编码示例中,您故意声明“DatabaseID”,但是当您实际尝试在代码中访问它时,您将其替换为变量
$DatabaseID对吧?
标签: php arrays database sorting