【问题标题】:Sort an array so that first half is in ascending order, second half is in descending order in PHP对数组进行排序,使前半部分按升序排列,后半部分在 PHP 中按降序排列
【发布时间】:2015-05-13 08:24:47
【问题描述】:

我想对一个数组进行排序,以便在 PHP 中前半部分按升序排列,后半部分按降序排列。

{3,1,2,4,9,8,7,6,5,10}

结果

{1,2,3,4,5,10,9,8,7,6} 

【问题讨论】:

  • 到目前为止您尝试过什么?请在这里发帖?
  • 将数组一分为二,将它们独立排序,然后将它们重新组合在一起。
  • 您使用 Paypal 付款吗?还是比特币?
  • 对数组进行排序....将其一分为二,对第二部分进行反向排序,再次将两者合并在一起
  • 与其发布问题想一会你就会得到答案。从halfer评论中获取输入

标签: php arrays sorting


【解决方案1】:
<?php
$arr = array(3,1,2,4,9,8,7,6,5,10);
sort($arr, SORT_NUMERIC);
//print_r($arr);
$arr_chunk = array_chunk($arr, ceil(count($arr)/2));
//print_r($arr_chunk);
$reversed_arr = array_reverse($arr_chunk[1]);
$final_arr = array_merge($arr_chunk[0],$reversed_arr);
print_r($final_arr);
?>

【讨论】:

  • rsort($arr_chunk[1], SORT_NUMERIC); $final_arr = array_merge($arr_chunk[0],$arr_chunk[1]); 使用的内存略少于array_reverse()
猜你喜欢
  • 2022-01-09
  • 2019-04-05
  • 2016-03-28
  • 1970-01-01
  • 2018-05-21
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 2020-01-08
相关资源
最近更新 更多