Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将php数组值排序或显示为钟形曲线_Php_Arrays_Sorting - Fatal编程技术网

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

将php数组值排序或显示为钟形曲线,php,arrays,sorting,Php,Arrays,Sorting,如果有人能找到解决办法,就把这个扔出去。我有一个PHP数组,我想排序它,所以较低的值是在开始和结束,更高的值是在中间,最高值是死点(如果数值计数当然是奇怪的),有点像钟形曲线… 这里有一种方法: 首先对值数组进行排序sort()将对数组重新编制索引 sort($values); 根据索引mod 2将交替阵列元素分成两半 foreach ($values as $i => $x) { $sides[$i % 2][] = $x; } (如果数组计数为奇数,则不完全是一半) 将一半

如果有人能找到解决办法,就把这个扔出去。我有一个PHP数组,我想排序它,所以较低的值是在开始和结束,更高的值是在中间,最高值是死点(如果数值计数当然是奇怪的),有点像钟形曲线… 这里有一种方法:

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

sort($values);
根据索引mod 2将交替阵列元素分成两半

foreach ($values as $i => $x) {
    $sides[$i % 2][] = $x;
}
(如果数组计数为奇数,则不完全是一半)

将一半与另一半的反面合并形成结果

$result = array_merge($sides[0], array_reverse($sides[1]));
这里有一个方法:

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

sort($values);
根据索引mod 2将交替阵列元素分成两半

foreach ($values as $i => $x) {
    $sides[$i % 2][] = $x;
}
(如果数组计数为奇数,则不完全是一半)

将一半与另一半的反面合并形成结果

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

它如何决定较低值的哪一边?你的最终目标是什么?最低值从哪一边开始并不重要。基本上如果我有一个数组,比如:1,2,3,4,5,6,7。我想让它排序如下:1,3,5,7,6,4,2你能提供一个值的样本数组吗?[1]=>10[2]=20[3]=>30[4]=>40[5]=>50应该是[1]=>10[3]=>30[5]=>50[4]=>40[2]=20它如何决定较低的值去哪一边?你的最终目标是什么?最低值从哪一边开始并不重要。基本上如果我有一个数组,比如:1,2,3,4,5,6,7。我希望它按如下顺序排序:1,3,5,7,6,4,2你能提供一个值的样本数组吗?[1]=>10[2]=20[3]=>30[4]=>40[5]=>50应该是[1]=>10[3]=>30[5]=>50[4]=>40[2]=20@AndrewBrown谢谢@AndrewBrown谢谢!