PHP 程序:按降序排序数组元素


2022年3月26日, Learn eTutorial
1340

数组按降序排列

在此程序中,我们将按降序排序数组的元素。要按降序排序元素,我们必须将数组的每个元素相互比较。例如,数组是 56,8,12,9,87,则输出将是 8,9,12,56,87。

如何使用 PHP 按降序排序数组元素?

对于这个程序,为了排序数组中的元素,我们取赋给数组 a[] 的静态值。然后我们需要将值 0 赋给变量 temp 以暂时存储,并使用内置函数 count() 将数组的大小赋给变量 len。之后,我们需要将值 0 赋给变量 i,并循环直到条件 'i < len' 满足,并且在每次迭代中增加变量 i 的值。在循环块中,我们需要将值 1 赋给变量 j,并循环直到条件 'j < len' 满足,并且在每次迭代中增加变量 j 的值。在循环块中,检查条件 'a[i] > a[j]',如果为真,则将 a[i] 的值赋给变量 temp,将 a[j] 的值赋给 a[i],并将 temp 的值赋给 a[j]。循环完成后,我们可以使用 for 循环 以降序打印数组的元素。

算法

步骤 1:使用值初始化数组 a[]

步骤 2: 创建一个值为 0 的临时变量 temp

步骤 3: 使用内置函数 count() 将数组的大小赋给变量 len

步骤 4: 打印数组 a[] 中的元素

步骤 5: 将值 0 赋给变量 i,并执行步骤 6 直到条件 'i < len' 变为假,并在每次迭代中增加变量 i 的值

步骤 6: 将值 1 赋给变量 j,并执行子步骤直到条件 'j < len' 变为假,并在每次迭代中增加变量 j 的值

        (i) 检查条件 'a[i] < a[j]',如果为真则执行子步骤

            (a) 将 a[i] 的值赋给变量 temp

            (b) 将 a[j] 的值赋给 a[i]

            (c) 将 temp 的值赋给 a[j]

步骤 5: 以升序打印数组 a[] 的元素

PHP 源代码

                                          <?php
$a = array(10, 8, 92, 69, 74);
$temp = 0;
$len = count($a);
echo "Elements in array are:\n";
for ($i = 0; $i < $len; $i++) {
    echo "$a[$i] ";
}
for ($i = 0; $i < $len; $i++) {
    for ($j = $i + 1; $j < $len; $j++) {
        if ($a[$i] < $a[$j]) {
            $temp = $a[$i];
            $a[$i] = $a[$j];
            $a[$j] = $temp;
        }
    }
}
echo "\nElements of array sorted in ascending order: \n";
for ($i = 0; $i < $len; $i++) {
    echo "$a[$i] ";
}
?>
                                      

输出

Elements in array are:
10 8 92 69 74
Elements of array sorted in ascending order:
92 74 69 10 8