使用变量索引

时间:2017-10-02 15:54:56

标签: php arrays recursion merge

我需要合并不同的数组。

假设我有3个和2个数组,我需要将它们合并在一起。目前我正在使用这个:

$ppjson_data= json_encode(array_merge_recursive($ppposts[0][0],$ppposts[0][1],$ppposts[0][2],$ppposts[1][0],$ppposts[1][1]));

这很有效。

现在的问题是我可能需要合并的数组数量不是常数。有递减合并的$ x和$ y数组,那你怎么做呢?

$x=5;
$y=10;
for ($i=0;$i<$x+1) {
  for ($j=0;$j<$y+1) {    
    $ppjson_data=json_encode(array_merge_recursive(...));
  }
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用array_merge_recursive将数组的子数组作为参数调用call_user_func_array

$ppjson_data = json_encode(call_user_func_array('array_merge_recursive', $ppposts));

这会创建一个arra,在JSON中它将被[]包围。如果您想要一个对象{},请使用(object)

进行投射
$ppjson_data = json_encode((object)call_user_func_array('array_merge_recursive', $ppposts));