if语句的替代方案

时间:2012-10-16 11:41:41

标签: php if-statement

以下代码中if语句的其他替代方法是什么?

$page_title = $titles['default'];
$page_desc  = $descriptions['default'];

if(array_key_exists($module, $titles) && !empty($titles[$module]))
{
    $page_title = $titles[$module];
}
if(array_key_exists($module, $descriptions) && !empty($descriptions[$module]))
{
    $page_desc  = $descriptions[$module];
}

以上代码效果很好,我只是想看看是否有任何改进的余地。

3 个答案:

答案 0 :(得分:4)

$page_title = isset($titles[$module]) ? $titles[$module] : $titles['default'];
$page_desc  = isset($descriptions[$module]) ? $descriptions[$module] : $descriptions['default'];

答案 1 :(得分:2)

这个怎么样? ;)

($page_title = @$titles[$module]) or $page_title = $titles['default'];
($page_desc = @$descriptions[$module]) or $page_desc = $descriptions['default'];

还是这个?

$page_title = @$titles[$module] ?: $titles['default'];
$page_desc = @$descriptions[$module] ?: $descriptions['default'];

答案 2 :(得分:1)

这是一种略有不同的方式:) - 我没有声明说它更好......这取决于具体情况。

$titles += array("$module" => $titles['default']);
$descriptions += array("$module" => $descriptions['default']);

$page_title = $titles[$module];
$page_desc = $descriptions[$module];