在PHP中使用2个数组相同的键创建新数组

时间:2012-11-01 09:13:33

标签: php arrays

今天我找到了新的堆栈(可能和我一起堆叠)。我正在为一个新的简单PHP框架学习,但是当需要将一个数据数组添加到数据库中时。这个数组来自2个数组:一个是Default数组,另一个是new request数组。我将演示:

`

array $default = (
[cat] = '0',
[dog] = '0',
[bird] = '0'
)

array $request = (
[cat] = '10',
[dog] = '12',

[someanimal] = '100'
)

`

现在我想创建一个结果如下的新数组:array $new = ([cat]='10', [dog]='12', [bird]='0')。 在PHP中可能有一些命令吗?或者我们需要为?

制作自定义功能

感谢大家的帮助:)。

3 个答案:

答案 0 :(得分:3)

尝试

$result = $default;
foreach ($request as $key=>$value) {
  if (isset($result[$key])) {
    $result[$key] = $value;
  }  
}

或者

$result = array_intersect_key(array_merge($default, $request), $default)

答案 1 :(得分:0)

你是否喜欢这样的事情:

$finalArray = array_merge($default, $request); 

答案 2 :(得分:0)

尝试$result = array_merge($array1, $array2);

http://php.net/manual/en/function.array-merge.php