Hi i will try multi sort array , display array list base on recent post values, i need order list please find my code and help with us.
<?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);
?>
Now showing result :
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
)
)
I need result (filter [id] using ascending order list):
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
)
)
use array_multisort array.
array_multisort and array_column function can be used to sort multi dimensional array using the key,which is ID in your example.array_column function is used to specify the key which is used as the sort order.
syntax:
array_multisort(array_column(array_name,key_name),SORT_DESC/SORT_ASC,array_name);
Solution:
array_multisort(array_column($data,'id'),SORT_ASC,$data);
use usort to sort the array. You can check the simple live demo here .
usort($array, function($a, $b){return $b['id'] - $a['id'];});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.