我有一个这样简单的陈述:
$data['title'] = isset($domain['title']) ? $domain['title'] : '';
这没关系。然后使用codeigniter活动记录在插入查询中使用数据数组。现在我想问一下,如果isset返回false,那么就不要初始化$ data ['title']。
我知道替代方案
if(isset($domain['title'])){
$data['title'] = $domain['title'];
}
我想知道如何使用上层指令执行相同的if
?
答案 0 :(得分:2)
我能看到的最短路径是:
if (isset($domain['title'])) $data['title'] = $domain['title'];
但坚持你的第二个例子,它更具可读性。
答案 1 :(得分:0)
$data['title'] = !isset($domain['title'] ? : $domain['title'];
在php 5.3或更高版本中。
但我不推荐它,因为这是令人困惑的混乱代码。
答案 2 :(得分:0)
您可以这样做,但使用if
更具可读性。
isset($domain['title']) && ($data['title'] = $domain['title']);
编辑: 使用循环的示例。
foreach (array('title', 'body', 'footer') as $key) {
if (isset($domain[$key])) {
$data[$key] = $domain[$key];
}
}