gpt4 book ai didi

php - 将整个数组移动到 php 中的一个位置

转载 作者:行者123 更新时间:2023-12-05 02:18:11 27 4
gpt4 key购买 nike

例如:我有一个如下所示的数组:Array ( [0] => A [1] => B [2] => C [3] => D [4] => E [5] => F). 等等..

我想将整个数组向右推 1,所以它看起来像这样: ( [0] => 0 [1] => A [2] => B [3] => C [4] => D [5] => E [6] => F). 等等....

编辑:我的错。我没有正确地表达我的问题。我希望我不会混淆试图澄清的人。我想继续插入数组直到数组长度结束。例如 $len 是 7。我想在迭代到下一个位置之前对数组执行一个操作。所以它看起来像这样:

Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => A).

我第一次尝试解决这个问题是创建一个 for 循环:

for ($i = 0; $i < $len; $i++) {
echo $chars[$i + 1];
array_unshift($chars, 0);
}

我的循环给了我 7 个 B,这不是我想要的。

我描述的是可能的吗?

最佳答案

你不需要循环。要将数组移动与数组大小相同的次数,可以使用 array_fill + array_merge :

$arr = array('A', 'B', 'C', 'D', 'E', 'F'); $len = count($arr);
$tmp = array_fill(0, $len, 0);
$arr = array_merge($tmp, $arr);

输出:

Array
(
[0] => 0
[1] => 0
[2] => 0
[3] => 0
[4] => 0
[5] => 0
[6] => A
[7] => B
[8] => C
[9] => D
[10] => E
[11] => F
)


如果你只需要移动一次,像这样使用它:

$arr = array('A', 'B', 'C', 'D', 'E', 'F');
array_unshift($arr, 0); // adds 0 to the first item
// array_pop($arr); // you can remove the last one, if needed

输出(删除最后一项):

Array
(
[0] => 0
[1] => A
[2] => B
[3] => C
[4] => D
[5] => E
)

如果你想添加多个并且它们不同,你也可以使用array_merge:

$arr = array('A', 'B', 'C', 'D', 'E', 'F');
$arr = array_merge(array(0, 'foo', 'bar'), $arr);
// Output: Array ( [0] => 0 [1] => foo [2] => bar [3] => A [4] => B [5] => C [6] => D [7] => E [8] => F )

关于php - 将整个数组移动到 php 中的一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46184766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com