按值排序多维数组?

时间:2017-03-16 09:40:24

标签: php arrays wordpress sorting multidimensional-array

您好我将尝试多排序数组,根据最近的帖子值显示数组列表,我需要订单列表,请找到我的代码并帮助我们。

<?php
 $data = array();
    $i = 0;
    while($loop->have_posts()) : $loop->the_post();
    $title = get_the_title();
    $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'small');
    $comments_count = wp_count_comments(get_the_ID ());
    $comments_count = $comments_count->total_comments;

    ?>
        <div class="load_more" style="color:red;">
            <?php $row_id =  echo_views($id);
            $data[$i]['id'] = $row_id;
            $data[$i]['title'] = $title;
            $data[$i]['image'] = $large_image_url;
            $data[$i]['comments'] = $comments_count;            
            ?>
        </div>
    <?php    
    $i++;
    endwhile;
echo '<pre>';print_r($data);
?>

现在显示结果:

Array
(
    [0] => Array
        (
            [id] => 127
            [title] => test2
            [image] => Array
                (                    
                )
            [comments] => 0
        )

    [1] => Array
        (
            [id] => 116
            [title] => test3
            [image] => Array
                (                    
                )
            [comments] => 0
        )
    [2] => Array
        (
            [id] => 124
            [title] => test2
            [image] => Array
                (                    
                )
            [comments] => 0
        )

)

我需要结果(filter [id]使用升序列表):

Array
(
    [0] => Array
        (
            [id] => 127
            [title] => test2
            [image] => Array
                (                    
                )
            [comments] => 0
        )

    [1] => Array
        (
            [id] => 124
            [title] => test2
            [image] => Array
                (                    
                )
            [comments] => 0
        )

    [2] => Array
        (
            [id] => 116
            [title] => test3
            [image] => Array
                (                    
                )
            [comments] => 0
        )
)

2 个答案:

答案 0 :(得分:2)

使用 array_multisort 数组。

PHP reference

array_multisort array_column 函数可用于使用键(在示例中为ID)对多维数组进行排序。array_column函数用于指定键用作排序顺序。

语法:

array_multisort(array_column(array_name,key_name),SORT_DESC/SORT_ASC,array_name);

解决方案:

array_multisort(array_column($data,'id'),SORT_ASC,$data);

答案 1 :(得分:1)

使用usort对数组进行排序。您可以查看simple live demo here

usort($array, function($a, $b){return $b['id'] - $a['id'];});