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

问题描述 投票:0回答:1

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

php arrays sorting
1个回答
2
投票

这是一种方式:

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

sort($values);

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

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

(如果数组计数是奇数,则不完全一半)

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

$result = array_merge($sides[0], array_reverse($sides[1]));
© www.soinside.com 2019 - 2024. All rights reserved.