Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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_Sorting - Fatal编程技术网

Php 按特定键对数组排序

Php 按特定键对数组排序,php,sorting,Php,Sorting,在下面的代码中,我想按其键对数组$v进行排序,该键只有数值 foreach ($archive_years as $key => $value) { $id = str_replace(' ', '', $key); echo ' <button type="button" class="btn btn-info collapsible" data-toggle="collapse" data-target="#archiv_'. $id .'">

在下面的代码中,我想按其键对数组
$v
进行排序,该键只有数值

foreach ($archive_years as $key => $value) {
    $id = str_replace(' ', '', $key);
    echo '
        <button type="button" class="btn btn-info collapsible" data-toggle="collapse" data-target="#archiv_'. $id .'"><h3>'. $key .' </h3></button>
        <div id="archiv_'. $id .'" class="collapse">
            <ul>
    ';
    foreach ($value as $k => $v) {
        ksort($v);
        var_dump($v);
        if (get_page($v['id'])->post_content) {
            echo '<li><h4><a href="'. $v["permalink"] .'">'. $v["title"] .' - '. $v["titel"] .'</a></h4></li>';
        }
        else {
            echo '<li><h4>'. $v["title"] .' - '. $v["titel"] .'</h4></li>';
        }

    }
    echo '</ul></div>';
}
foreach($key=>$value){
$id=str_replace(“”,,$key);
回声'
“.$key。”
    '; foreach($k=>v的值){ k港口(五美元); var_dump(五美元); 如果(获取页面($v['id'])->发布内容){ 回音“
  • ”; } 否则{ 回音“
  • ”.$v[“title”]。-“$v[“titel”]。
  • ”; } } 回声“
”; }
我试过使用
ksort($v)但在这种情况下似乎不起作用

这就是
echo';印刷费($v)返回:


任何帮助都将不胜感激

如果您需要自己的比较功能,您应该使用
usort

也就是说,你可以试试这样的东西:

usort($array, function($a, $b) {
    // should work, as title is numeric. to change the direction
    // just change $a and $b
    return $a['title'] - $b['title'];
});

$v
中有什么内容?通过执行
echo''向我们显示一个;印刷费($v)
@Anant我已经更新了我的问题。我已经测试了你的代码,但由于某些原因它对我不起作用。数组仍然无法按标题排序。是否应该有一个逻辑比较符号而不是负号?(
)谢谢你,这确实有效!我只需要将它用于数组
$value
,而不是
$v
。不,您不需要。compare函数要求值小于、大于或等于零。仅仅做数学就足够了。