0

今天我发现了新的堆栈(也许和我一起堆栈)。我正在为一个新的简单 PHP 框架学习,但是当需要将一组数据添加到数据库时。这个数组由 2 个数组组成:一个是默认数组,剩下一个是新的请求数组。我将演示:

`

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 中可能有一些命令?或者我们需要为它制作一个自定义功能?

谢谢大家的帮助:)。

4

3 回答 3

3

尝试

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

或者

$result = array_intersect_key(array_merge($default, $request), $default)
于 2012-11-01T09:18:32.707 回答
0

你是否在追求这样的事情:

$finalArray = array_merge($default, $request); 
于 2012-11-01T09:17:35.847 回答
0

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

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

于 2012-11-01T09:18:04.160 回答