Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据PHP多维数组的一个键的值对其进行排序?_Php_Arrays - Fatal编程技术网

如何根据PHP多维数组的一个键的值对其进行排序?

如何根据PHP多维数组的一个键的值对其进行排序?,php,arrays,Php,Arrays,我有一个多维数据库值数组。标题存储在语言文件中,因此我不能简单地按标题排序db查询。我必须循环搜索结果,并根据类别的id从语言文件中获取标题。因此,我必须创建一个具有适当标题的自定义数组 这是我的模型: <?php function retrieve(){ foreach($query_cats->result_array() as $cat){ $info[] = array( 'id' => $cat['id'],

我有一个多维数据库值数组。标题存储在语言文件中,因此我不能简单地按标题排序db查询。我必须循环搜索结果,并根据类别的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中)。当然,这是另一种可能的解决办法。