【发布时间】:2016-03-22 15:09:36
【问题描述】:
我在 mysql 中有两行和这些查询:
SELECT * FROM `fruits_colors` WHERE `name` = "default"
SELECT * FROM `fruits_colors` WHERE `name` = "example"
我明白了:
//result from first query
$default_row = array(
'banana' => 'yellow',
'apple' => 'red',
'grape' => 'green',
'blueberry' => 'blue'
'raspberry' => 'red'
);
//result from second query
$example_row = array(
'banana' => 'yellow',
'apple' => 'GREEN',
'grape' => '',
'blueberry' => 'blue'
'raspberry' => ''
);
所以,现在我想用默认值 ($default_row) 填充 $example_row 中的所有空值,但不替换那些不为空的值。所以我应该得到:
$example_row = array(
'banana' => 'yellow',
'apple' => 'GREEN', // keep original from this array
'grape' => 'green', // filled from $default_row
'blueberry' => 'blue'
'raspberry' => 'red'// filled from $default_row
);
我知道我可以使用 $example_row 进行 foreach,检查每个键,如果值为空,则使用其他数组中的值进行设置。但是,有没有更优雅的更短的方法来做到这一点?
- 我可以将这些数组与一些内置的 PHP 函数连接起来吗?
- 也许我可以直接在 SQL 查询中执行此操作?
问候
【问题讨论】: