Php 使用带有数字键的数组\合并\递归
我一直在搜索SO,发现了一些解决方案,它们都像黑客一样绕过了数字键上的默认Php 使用带有数字键的数组\合并\递归,php,arrays,multidimensional-array,array-merge,Php,Arrays,Multidimensional Array,Array Merge,我一直在搜索SO,发现了一些解决方案,它们都像黑客一样绕过了数字键上的默认array\u merge\u recursive行为。例如,我读过一篇文章,你可以在开头加下划线,把数字改成字符串 无论如何,这是我的数据集和预期结果 array ( "Name1", "Name2", "Name3" ); array ( "Data1", "Data2", "Data3" ); array ( "Price1", "Price2", "Price3" ); 预期结果: array ( 1 =>
array\u merge\u recursive
行为。例如,我读过一篇文章,你可以在开头加下划线,把数字改成字符串
无论如何,这是我的数据集和预期结果
array ( "Name1", "Name2", "Name3" );
array ( "Data1", "Data2", "Data3" );
array ( "Price1", "Price2", "Price3" );
预期结果:
array ( 1 => array ( "Name1", "Data1", "Price1" ), 2 => array ( "Name2", "Data2", "Price2" ), 3 => array ( "Name3", "Data3", "Price3" );
我相信您已经了解了array\u merge\u recursive通常是如何使用数字键操作的。。。这是我当前的合并结果
array ( "Name1", "Name2", "Name3", "Data1", "Data2", "Data3", "Price1", "Price2", "Price3");
有没有合适的方法?个别方法的优缺点是什么,例如添加下划线以创建字符串键?简单的解决方法将是一种完全不同的方法,例如:
$merged = array_map(function () { return func_get_args(); }, $array1, $array2, $array3);
$merge_array=array();
对于($i=0;$i
那应该行。我喜欢这样。所有其他方法都涉及创建自定义函数和多行代码。这正是我一直在寻找的解决方案,正如我所希望的那样。谢谢不过,这有点令人讨厌。。。而且它也不是递归的。
$merge_array = array();
for($i = 0; $i < count($array1); $i++) {
$row = array();
$row[] = $array1[$i];
$row[] = $array2[$i];
$row[] = $array3[$i];
$merged_array[] = $row;
}