我想按照下面列出的顺序对以下数据项进行排序:
$char = array('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C');
我希望输出是:
$char = array('A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C');
使用PHP排序的任何技巧
非常感谢!
答案 0 :(得分:0)
bool
此函数对数组进行排序。此功能完成后,元素将从最低到最高排列。
试试这个:
bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
信用:here
答案 1 :(得分:0)
为了按值的升序排序数组,您可以使用asort()
,以便按值的升序对数组进行排序。
asort
- 对数组进行排序并维护索引关联。
此函数对数组进行排序,以使数组索引与它们关联的数组元素保持相关性。这主要用于排序实际元素顺序很重要的关联数组。
示例代码:
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>
<强>输出:强>
c = apple
b = banana
d = lemon
a = orange
示例参考:asort
您的代码需要像这样。
<?php
$char = array('A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C', 'A', 'B', 'C');
asort($char);//Sorts the array here
foreach ($char as $key => $val) {
$values[] = $val;
}
print_r($values);//Print the sorted output
?>
<强>输出:强>
Array ( [0] => A [1] => A [2] => A [3] => A [4] => A [5] => B [6] => B [7] => B [8] => B [9] => B [10] => C [11] => C [12] => C [13] => C [14] => C )