在PHP中,如何从具有相同键的另一个数组向数组的键添加值?
我有以下两个阵列:在PHP中,如何从具有相同键的另一个数组向数组的键添加值?,php,arrays,Php,Arrays,我有以下两个阵列: $a = [ 'post_type' => 'ese' ]; $b = [ 'demo_handle' => 'demo-3', 'post_type' => [ 'aaa', 'bbb' ], 'id' => 3']; 我希望b美元采用a美元的价值,但不是相反。我的最终阵列将如下所示: $c = [ ..., 'post_type' => [ 'aaa, 'bbb', 'ese'], ...]; 我怎样才能做到这一点?我尝试了多种方法,但没
$a = [ 'post_type' => 'ese' ];
$b = [ 'demo_handle' => 'demo-3', 'post_type' => [ 'aaa', 'bbb' ], 'id' => 3'];
我希望b美元采用a美元的价值,但不是相反。我的最终阵列将如下所示:
$c = [ ..., 'post_type' => [ 'aaa, 'bbb', 'ese'], ...];
我怎样才能做到这一点?我尝试了多种方法,但没有一种方法能够正确地进行数组合并。使用循环和isset函数。更多详细信息请参见下面的代码注释:
// Loop over the $b array
foreach ($b as $key => $value) {
// Check if this key exists in $a array also
if (isset($a[$key])) {
// if exists, we can merge them
// We need to typecast value in $a to array
// since, array_merge requires array arguments
$b[$key] = array_merge((array)$value,
(array)$a[$key]);
}
}
使用循环和isset函数。更多详细信息请参见下面的代码注释:
// Loop over the $b array
foreach ($b as $key => $value) {
// Check if this key exists in $a array also
if (isset($a[$key])) {
// if exists, we can merge them
// We need to typecast value in $a to array
// since, array_merge requires array arguments
$b[$key] = array_merge((array)$value,
(array)$a[$key]);
}
}
PHP有一个名为:
PHP有一个名为:
哦,是的,我就是这么做的,但不是有一个内置的数组方法来处理这个问题吗?@MadhurBhaiya这是有效的,与array\u merge\u recursive不同,它不会给我重复的数组。@coolpasta在一天结束时,任何内置PHP函数也会执行循环和相同的条件检查等。有时为了避免无意行为,最好自己编写一个小循环代码。这确保了我们的具体要求得到完全满足。哦,是的,我就是这样做的,但不是有一个内置的数组方法来处理这个问题吗?@MadhurBhaiya这是有效的,与数组\u merge\u recursive不同,它不会给我重复的数组。@coolpalita在一天结束时,任何内置PHP函数也将执行循环和相同的条件检查等。有时为了避免意外行为,最好自己编写一个小循环代码。这确保了我们的具体要求得到完全满足。我保证,在考虑提出要求之前,我会尽职尽责,但这不起作用:/@coolpstap-Hmm,它应该起作用。文档的示例与您的示例几乎相同。工作原理如所述:可能更详细地描述为什么它不能满足您的要求。我保证,在考虑询问之前,我总是会尽职尽责,但这不起作用:/@coolpasta-Hmm,它应该起作用。该文档的示例与您的示例几乎相同。工作原理如所述:可能需要更详细地说明为什么它不能满足您的要求。