在PHP中移动多个数组列

在PHP中移动多个数组列,php,arrays,csv,split,Php,Arrays,Csv,Split,我正在编写一个小脚本,它将.csv文件中的一列拆分为三列。csv文件有一个18列的数组,我需要拆分第5列并将数据插入[6][7][8],如何将[6]-[18]中的所有内容移动到[9]-[21],这样我的数据就不会被覆盖? 使用长度为零的第三个参数,可以将另一个数组“注入”到现有数组中 // Make a 18 length array for testing $array = array_fill( 0, 18, 'old' ); // Make a 3 length array for tes

我正在编写一个小脚本,它将.csv文件中的一列拆分为三列。csv文件有一个18列的数组,我需要拆分第5列并将数据插入[6][7][8],如何将[6]-[18]中的所有内容移动到[9]-[21],这样我的数据就不会被覆盖?

使用长度为零的第三个参数,可以将另一个数组“注入”到现有数组中

// Make a 18 length array for testing
$array = array_fill( 0, 18, 'old' );
// Make a 3 length array for testing
$add = array_fill( 0, 3, 'new' );
// splice the $add array into $array at the 6th index
array_splice( $array, 6, 0, $add );
// done!
print_r( $array );

您好,欢迎来到StackOverflow。这里有一个简短的提示,你应该在提问时阅读。你问题中的数字和索引让我有点困惑,但是“旧”和“新”字符串应该清楚它的行为,实际上你只需要在这里弄乱
6
就可以得到正确的偏移量:)它就像一个符咒,我所要做的就是数组拼接($column,5,1,$matches);其中,$column是数组中的完整数据,$matches是之前分割的值:)啊,好的,第五列是CSV数据吗?太好了,那
1
length参数就完美了:)是的,是的!:)我必须检查它为什么没有正确地粘贴0,不知道为什么,只是在您的
($column,5,1,$matches)示例中写入了1及其伟大之处
,代码的意思是“从第5个索引中,删除1个数组项,然后从第5个索引中插入另一个数组”