PHP中有如下数组:
$myArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
"l", "m", "n", "o"];
- 我想插入一个新元素 ()1在同一数组中每隔第四个元素之后。
- 同样,数组将从1开始。
输出将是:
$myTest = [1, "a", "b", "c", "d", 1, "e", "f", "g", "h", 1, "i", "j",
"k", "l", 1, "m", "n", "o"];
请注意,在上面的数组中,每隔第4个元素后面加一个1。
同样,我不是只添加一次元素。每隔第4个元素,它就会被重复添加到数组的末尾。
您可以使用与函数array_splice相关联的模运算符来实现您的目标。
E。G:
<?php
$myTest= ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o"];
$added = 0;
for($i=1;$i<count($myTest);$i++){
if($i%4 == 0){
$temp = array(1);
array_splice($myTest, ($i+$added), 0, $temp );
}
}
print_r($myTest);
?>
我想这就是你要找的:
<?php
$myArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o"];
$myTest = [1, "a", "b", "c", "d", 1, "e", "f", "g", "h", 1, "i", "j",
"k", "l", 1, "m", "n", "o"];
for($i = 0; $i < count($myArray); $i+=4)
{
array_splice($myArray, $i, 0, [1]);
$i++;
}
print_r($myArray);
echo ('<br>'. ($myArray==$myTest));
?>
输出:[1, "a", "b", "c", "d", 1, "e", "f", "g", "h", 1, "i", "j",
"k", "l", 1, "m", "n", "o"]
1
EDIT:附加要求
可以使用array_splice
函数
$myArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o"];
$add = array(1);
for($i = 0; $i < count($myArray); $i+=4)
{
array_splice($myArray, $i, 0, $add);
$i++;
}
print_r($myArray);