如何在php中将一个数组转移到另一个数组中
如何在php中将一个数组转移到另一个数组中
我有两个简单的数组:
$ages[] = array("Peter"=>22, "Clark"=>32, "John"=>28); $ages1[] = array("demo"=>22);
当我打印这些数组时,应该是以下的样子:
Array ( [0] => Array ( [Peter] => 22 [Clark] => 32 [John] => 28 ) ) Array ( [0] => Array ( [demo] => 22 ) )
但是我想创建第三个数组,它将把demo键的值显示在第一个数组中,如下所示:
Array ( [0] => Array ( [Peter] => 22 [Clark] => 32 [John] => 28 [demo] => 22 ) )
我们能否像上面那样在PHP中将两个数组合并为一个数组?
问题的原因是需要将一个数组的内容传递给另一个数组,并且在传递过程中保持原有的键值关系。解决方法是编写一个函数,使用循环遍历的方式将数组的内容逐个赋值给新的数组。
以下是解决方法的代码实现:
22, "Clark"=>32, "John"=>28); $ages1[] = array("demo"=>22); $output = prepend_array($ages,$ages1); print_r($output); // Function to prepend arrays function prepend_array() { $num_args = count(func_get_args()); $new_array = array(); foreach (func_get_args() as $params){ foreach($params as $out_key => $param) { foreach($param as $key => $value) $new_array[$out_key][$key] = $value; } } return $new_array; }
以上代码将输出将两个数组的内容合并后的结果。