将PHP数组值排序或显示为钟形曲线

时间:2018-11-09 21:58:34

标签: php arrays sorting

只要有人可以找到解决方案,就把它扔在那里。我有一个PHP数组,我想对其进行排序,因此,较低的值位于开头和结尾,较高的值位于中间,最高的值位于死点(如果值的计数当然是奇数),像钟形曲线...

1 个答案:

答案 0 :(得分:2)

这是一种方法:

首先对值数组进行排序。 sort()将为数组重新索引。

sort($values);

根据索引mod 2将交替的数组元素分成两半。

foreach ($values as $i => $x) {
    $sides[$i % 2][] = $x;
}

(好吧,如果数组数为奇数,则不完全是一半)

通过将一半与另一半合并来形成结果。

$result = array_merge($sides[0], array_reverse($sides[1]));