PHP 程序:按升序排列数组


2022年3月22日, Learn eTutorial
1657

数组按升序排列

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

如何使用 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: 创建一个临时变量 temp,值为 0

步骤 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(58, 12, 86, 37, 1);
$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:
58 12 86 37 1
Elements of array sorted in ascending order:
1 12 37 58 86