我有一个简单的语句,如下所示:
$data['title'] = isset($domain['title']) ? $domain['title'] : '';
这是可以的。然后使用codeigniter活动记录在插入查询中使用数据数组。现在我想问的是,如果isset返回false,是否有一种方法可以不初始化$data['title']。
我知道这里的替代方案
if(isset($domain['title'])){
$data['title'] = $domain['title'];
}
我想知道我们如何用上面的指令做同样的if
?
我能看到的最短的方法是:
if (isset($domain['title'])) $data['title'] = $domain['title'];
但请继续使用第二个示例,它更可读。
您可以这样做,但使用if
更可读。
isset($domain['title']) && ($data['title'] = $domain['title']);
编辑:使用循环的示例。
foreach (array('title', 'body', 'footer') as $key) {
if (isset($domain[$key])) {
$data[$key] = $domain[$key];
}
}
你可以做的好:
$data['title'] = !isset($domain['title'] ? : $domain['title'];
在php 5.3或更高版本中。
但我不推荐它,因为它是丑陋的、令人困惑的代码。