2012-10-16 3 views
0

다음 코드의 if 문에 대한 다른 대안은 무엇입니까?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]; 
} 

위의 코드는 훌륭하게 작동합니다. 개선의 여지가 있는지를 찾고 있습니다.

+0

정확히 무엇이 문제입니까? 제안을 원할 경우 첫 번째 중괄호를 같은 줄에 배치하십시오. P – Lix

+0

"개선"이란 무엇을 의미합니까? –

답변

2

;)

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

또는 this?

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

+1 보조 param을 건너 뛸 수 있다는 것을 몰랐습니다. 좋은. – Pebbl

+0

@pebbl : PHP 5.3 이후에 추가되었습니다. –

+0

건배, 정보 주셔서 감사합니다! :) 항상 첫 번째 수표가 두 번째 부분에서 반복해야 할 속성이나 무언가에 대한 복잡한 경로 인 경우에 특히 이전에이 작업을 수행 할 수 없다는 성가심이있었습니다. – Pebbl

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

예, 봐요 ... 속기 – Alex

+3

'isset'은 값이 비어 있는지 확인하지 않습니다. – teemitzitrone

+0

@maggie가 옳다는 것만 기억하면 – Alex

1

이것은 약간 다른 방식입니다. :) - 나는 상황에 따라 다르다고 말하는 것은 아닙니다.

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

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