php - 在 PHP 中组合关联数组
问题描述
<?php
$arrayName1 = array(
'0' => array('name' => 'steve' ,'age' =>51 ) ,
'1' => array('name' => 'john' ,'age' =>48 ) ,
);
$arrayName2 = array(
'0' => array('name' => 'Steve' ,'place' =>'downtown' ),
'1' => array('name' => 'John' ,'place' =>'New York' ),
);
$output = array(
'0' => array('name' => 'steve' ,'age' =>51, 'place' =>'downtown' ),
'1' => array('name' => 'john' ,'age' =>48 ,'place' =>'New York' ),
);
期待通过“name”键组合两个数组,并获得示例结果作为 $output。array_merge () 没有按预期工作。
解决方案
利用array_replace_recursive
$arrayName1 = array(
'0' => array('name' => 'steve' ,'age' =>51 ) ,
'1' => array('name' => 'john' ,'age' =>48 ) ,
);
$arrayName2 = array(
'0' => array('name' => 'steve' ,'place' =>'downtown' ),
'1' => array('name' => 'john' ,'place' =>'New York' ),
);
$out = array_replace_recursive($arrayName1, $arrayName2);
print_r($out);
输出将是
Array (
[0] => Array
(
[name] => steve
[age] => 51
[place] => downtown
)
[1] => Array
(
[name] => john
[age] => 48
[place] => New York
)
)
推荐阅读
- mysql - MySQL - GROUP_CONCAT 具有来自不同表的两列
- c - 如何在 Linux 中使用 C 语言使用“写入”系统调用?
- git - IDE Intellij IDEA 的工具版本控制中的 Smart Checkout 有什么作用?
- vue.js - 通过子数据在根组件上使用 v-show
- go - 使用 bazel 覆盖生成 lcov 覆盖文件时未创建输出“_coverage/_coverage_report.dat”
- python - 如何在 django rest api 中显示原始 sql 查询计数值
- jenkins - 哪种 ANT 风格的路径模式可以在 JenkinsFile 中捕获 foo_1.23.456_bar.baz 但不能捕获 foo_1.23.456_qux_bar.baz?
- java - 在java中打印2个日期之间的所有日期,特殊情况
- hyperledger - 运行超级账本 iroha 的快速启动版本和构建 iroha 有什么区别?
- azure-api-management - Azure - API 管理 - 管理 API SAS 令牌到期