如何在php中交错复制数组?
例如,我有一个数组:如何在php中交错复制数组?,php,arrays,duplicates,interleave,Php,Arrays,Duplicates,Interleave,例如,我有一个数组: $x = array("a", "b", "c", "d", "e"); 是否有函数迭代数组的所有值并将值复制到: $x = array("a", "a", "b", "b", "c", "c", "d", "d", "e", "e"); 在谷歌搜索了一段时间后,我还没有找到任何相关的解决方案 非常感谢 使用 $x=数组\减少$x,函数$arr,$val{ 数组\u push$arr、$val、$val; 返回$arr; }, []; 演示~ 刚刚意识到,减少听起来有点
$x = array("a", "b", "c", "d", "e");
是否有函数迭代数组的所有值并将值复制到:
$x = array("a", "a", "b", "b", "c", "c", "d", "d", "e", "e");
在谷歌搜索了一段时间后,我还没有找到任何相关的解决方案
非常感谢 使用 $x=数组\减少$x,函数$arr,$val{ 数组\u push$arr、$val、$val; 返回$arr; }, []; 演示~
刚刚意识到,减少听起来有点可笑,因为我们正在使阵列更大。把它更多地看作是一种转变。请参见不确定是否有用于此的库函数,但您是否正在寻找与此类似的内容:
function duplicate_array($array=array()) {
$result = array();
foreach($array as $elem) {
$result[] = $elem;
$result[] = $elem;
}
return $result;
}
理论上,这应该是你想要的
$x = array("a", "b", "c", "d", "e");
var_dump($x);
$x = duplicate_array($x);
var_dump($x);
这应该输出:
array(5) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
string(1) "d"
[4]=>
string(1) "e"
}
array(10) {
[0]=>
string(1) "a"
[1]=>
string(1) "a"
[2]=>
string(1) "b"
[3]=>
string(1) "b"
[4]=>
string(1) "c"
[5]=>
string(1) "c"
[6]=>
string(1) "d"
[7]=>
string(1) "d"
[8]=>
string(1) "e"
[9]=>
string(1) "e"
}
迭代数组并将值存储在新数组中是一个简单的解决方案
$x = array("a", "b", "c", "d", "e");
$result_array = [];
$repeat_x_times = 2;
foreach ($x as $element) {
for ($i = 0; $i < $repeat_x_times ; $i++) {
$result_array[] = $element;
}
}
类似:你对这项技术的实际用途是什么?存储冗余数据并非最佳做法。你到底在干什么?这样我一出门就能读两遍。为什么不在循环中做两次同样的事情呢?将$a转换为$b{echo$b;echo$b;}澄清您的编码问题永远不会太迟。我投票决定以不清楚的方式结束。您发布的问题和样本数据并不清楚您需要什么帮助。@mickmackusa我认为您在这方面走得对。仔细检查这个问题,我强烈建议将reduce函数的主体更改为:returnarray_merge$arr,array_pad[],$times,$val;-通过这种方式,$times可以很容易地更改-将use$times添加到reduce函数中declaration@dWinder我明白你的意思。不过,我觉得我可以使用PHP splat操作符做一些更简洁的事情。我会考虑一下的