PHP 程序:左移数组元素


2022年4月19日, Learn eTutorial
1658

数组中的左移是什么意思?

在此程序中,我们将把数组中的元素左移 **n** 次。要对元素执行左移,首先必须为变量 **n** 赋值,然后将元素的索引移动 **n** 次。例如,如果数组是 **5,9,8,6,7,3,4,2,1** 且 **n** 是 **2**,则输出将是 **8 6 7 3 4 2 1 5 9**。

如何使用 PHP 左移数组元素?

为了使此程序能左移数组元素,我们采用分配给数组 **a[]** 的静态值。然后,我们必须将元素左移的次数值分配给变量 **n**,并使用内置函数 `count()` 将数组大小分配给变量 **len**。之后,我们必须将值 **0** 分配给变量 **i**,并执行循环,直到条件 **'i < n'** 成立,并且在每次迭代中递增变量 **i** 的值。在循环块中,我们必须将 **a[0]** 的元素分配给变量 **temp**,然后将值 **0** 分配给变量 **j**,并执行循环,直到条件 **'j < len - 1'** 成立,并且在每次迭代中递增变量 **j** 的值。在循环块中,我们必须将 **a[j + 1]** 的值分配给数组 **a[j]**。此循环完成后,我们必须将变量 **temp** 的值分配给数组 **a[j]**。主循环完成后,我们可以将数组 **a[]** 打印为左移后的数组。

算法

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

步骤 3: 将数组应执行左移的次数分配给变量 **n**

步骤 4: 使用内置函数 `count()` 将数组的大小分配给变量 **len**

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

步骤 6: 要将数组的元素左移 **n** 次,首先将值 **0** 分配给变量 **i**,并执行子步骤,直到条件 **'i < n'** 变为假,并在每次迭代中递增变量 **i** 的值

        (i) 将 **a[0]** 的元素分配给变量 **temp**

        (ii) 将值 **0** 分配给变量 **j**,并执行子步骤,直到条件 **'j < len - 1'** 变为假,并在每次迭代中递增变量 **j** 的值

            (a) 将 **'a[j + 1]** 的值分配给变量 **a[j]**

        (iii) 将 **temp** 的值分配给数组 **a[j]**

步骤 7: 完成步骤 6 后,打印数组 **a[]** 的元素,这些元素已左移 **n** 次

PHP 源代码

                                          <?php
$a = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$n = 4;
$len = count($a);
echo "Elements in the array: \n";
for ($i = 0; $i < $len; $i++) {
    echo "$a[$i] ";
}
for ($i = 0; $i < $n; $i++) {
    $temp = $a[0];
    for ($j = 0; $j < $len - 1; $j++) {
        $a[$j] = $a[$j + 1];
    }
    $a[$j] = $temp;
}
echo "\nArray after the left shift of $n times:\n";
for ($i = 0; $i < $len; $i++) {
    echo "$a[$i] ";
}
                                      

输出

Elements in the array:
1 2 3 4 5 6 7 8 9
Array after the left shift of 4 times:
5 6 7 8 9 1 2 3 4