[英]Using array_merge_recursive with numeric keys
我一直在搜索SO并遇到一些解决方案,这些解决方案都是为了解决数字键上的默认array_merge_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_merge_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();
for($i = 0; $i < count($array1); $i++) {
$row = array();
$row[] = $array1[$i];
$row[] = $array2[$i];
$row[] = $array3[$i];
$merged_array[] = $row;
}
这应该工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.