如何根据PHP多维数组的一个键的值对其进行排序?
我有一个多维数据库值数组。标题存储在语言文件中,因此我不能简单地按标题排序db查询。我必须循环搜索结果,并根据类别的id从语言文件中获取标题。因此,我必须创建一个具有适当标题的自定义数组 这是我的模型:如何根据PHP多维数组的一个键的值对其进行排序?,php,arrays,Php,Arrays,我有一个多维数据库值数组。标题存储在语言文件中,因此我不能简单地按标题排序db查询。我必须循环搜索结果,并根据类别的id从语言文件中获取标题。因此,我必须创建一个具有适当标题的自定义数组 这是我的模型: <?php function retrieve(){ foreach($query_cats->result_array() as $cat){ $info[] = array( 'id' => $cat['id'],
<?php
function retrieve(){
foreach($query_cats->result_array() as $cat){
$info[] = array(
'id' => $cat['id'],
'title' => $this->lang->line('cat_'.$cat['id']),
'slug' => $cat['slug'],
'icon' => $cat['icon']
);
}
return $info;
}
我不确定这是否是您想要的,但您可以在此函数中挖掘更多信息
或者使用下面的示例生成自己的代码
$title= array();
foreach ($info as $key => $row)
{
$title[$key] = $row['title'];
}
array_multisort($price, SORT_DESC, $info);
你可以结合使用。我还建议对函数中的循环进行简化:
function retrieve(){
foreach ($query_cats->result_array() as $cat) {
$cat['title'] = $this->lang->line('cat_'.$cat['id']);
$info[] = $cat;
}
usort($info, function($a, $b) {
return strcasecmp($a['title'], $b['title']);
});
return $info;
}
一个未排序数组和排序版本的示例更有用。使用?下面是不同的PHP排序函数:了解。这就是你问题的答案。文档甚至包含您可以使用的代码(在示例3中)。显然,该示例是在函数引入之前编写的(在PHP5.5中)。当然,这是另一种可能的解决办法。