如何 merge/combine 两个值到同一个数组中的单个键
How to merge/combine two values into single key in the same array
我不确定我的标题使用什么术语是合适的,但只是想知道下面的解决方案需要在关联数组中 merge/combine 两个值合二为一。
例如我有这个数组:
Array
(
[1] => Array
(
[agent_name_1] => Agent 1
[agent_phone_1] => 0123456
[agent_company_1] => My Company
[agent_email_1] => agent@yahoo.com
[agent_address_1] => United States
)
)
这里我想结合company_1
和address_1
。所以输出应该是这样的:
Array
(
[1] => Array
(
[agent_name_1] => Agent 1
[agent_phone_1] => 0123456
[agent_email_1] => agent@yahoo.com
[agent_address_1] => My Company, United States
)
)
请有人帮我找出解决这个问题的最简单方法。
需要遍历数组,修改原数组对应的key
foreach ($array as $key => $agent) {
$array[$key]['agent_address_1'] = $agent['agent_company_1'] . ', ' . $agent['agent_address_1'];
unset($array[$key]['agent_company_1']);
}
阅读更多关于 foreach 控制结构及其如何遍历数组的信息。
您可以像这样在代码中使用 array_map()
:
<?php
$MyArray[1] = array (
'agent_name_1' => 'Agent 1',
'agent_phone_1' => '0123456',
'agent_company_1' => 'My Company',
'agent_email_1' => 'agent@yahoo.com',
'agent_address_1' => 'United States'
);
$array = array_map(function($n) {$n['agent_address_1'] = $n['agent_company_1'] . ', ' . $n['agent_address_1']; unset($n['agent_company_1']); return $n;}, $MyArray);
print_r($array);
输出:
Array
(
[1] => Array
(
[agent_name_1] => Agent 1
[agent_phone_1] => 0123456
[agent_email_1] => agent@yahoo.com
[agent_address_1] => My Company, United States
)
)
阅读更多信息:
我不确定我的标题使用什么术语是合适的,但只是想知道下面的解决方案需要在关联数组中 merge/combine 两个值合二为一。 例如我有这个数组:
Array
(
[1] => Array
(
[agent_name_1] => Agent 1
[agent_phone_1] => 0123456
[agent_company_1] => My Company
[agent_email_1] => agent@yahoo.com
[agent_address_1] => United States
)
)
这里我想结合company_1
和address_1
。所以输出应该是这样的:
Array
(
[1] => Array
(
[agent_name_1] => Agent 1
[agent_phone_1] => 0123456
[agent_email_1] => agent@yahoo.com
[agent_address_1] => My Company, United States
)
)
请有人帮我找出解决这个问题的最简单方法。
需要遍历数组,修改原数组对应的key
foreach ($array as $key => $agent) {
$array[$key]['agent_address_1'] = $agent['agent_company_1'] . ', ' . $agent['agent_address_1'];
unset($array[$key]['agent_company_1']);
}
阅读更多关于 foreach 控制结构及其如何遍历数组的信息。
您可以像这样在代码中使用 array_map()
:
<?php
$MyArray[1] = array (
'agent_name_1' => 'Agent 1',
'agent_phone_1' => '0123456',
'agent_company_1' => 'My Company',
'agent_email_1' => 'agent@yahoo.com',
'agent_address_1' => 'United States'
);
$array = array_map(function($n) {$n['agent_address_1'] = $n['agent_company_1'] . ', ' . $n['agent_address_1']; unset($n['agent_company_1']); return $n;}, $MyArray);
print_r($array);
输出:
Array
(
[1] => Array
(
[agent_name_1] => Agent 1
[agent_phone_1] => 0123456
[agent_email_1] => agent@yahoo.com
[agent_address_1] => My Company, United States
)
)
阅读更多信息: