2017-09-13 3 views
2

은 간단한 질문이 있습니다. 나는 대답을 알고 있다고 생각하지만 나는 희망하지 않는다.모름 변수를 에코하는 법은 PHP에서 쉽게 읽을 수있는 방법으로 설정되어 있습니다.

내가 설정되어 있는지 여부를 모르는 변수를 에코 할 수 있기를 원합니다. 그래서 내가 설정되지 않은 경우 기본 변수를 원하고 그것이 먼저 설정되었는지 확인하고 싶지 않습니다.

내가 설정 여부 모르는 $ 변수가 :

그래서 여기 예입니다. $ 변수가 5로 설정되어있는 경우

그런 다음

echo "This is my number: " . $variable; 

, 나는 그것이 "이것은 내 번호 : 5"인쇄 할 및 설정되어 있지 않은 경우, 나는 그것을 인쇄 할 "이건 내 번호는 : 0 ".

나는 이런 식으로 뭔가를 할 수 알고 :

echo "This is my number: " . ($variable? : 0); 

을하지만 난 여전히 통지 말 $ 변수를 가져올 심지어 에코 표시하지만 올바르게 정의되지 않습니다.

나는이

if (!isset($variable)) 
{ 
    $variable = 0); 
} 
echo "This is my number: " . $variable; 

처럼 뭔가를 할 수하지만이 많이하고 있어요 경우가 너무 많은 코드입니다.

+0

echo "This is my number: " . (isset($variable) ? $variable : 0); 

작품을, 더 나은 것 설정되어 있는지 확인하고 echo 문 앞에 한 번 기본값으로 설정하십시오. 그렇지 않으면이 체크 세트/기본값 설정을 다시 수행하면됩니다. (나는 당신이 이것을 모르고 있다고 가정하지는 않지만, 아무런 의미가 없다고 말할 것입니다.) –

답변

5

null coalescing operator은 (는) 새로운 절친한 친구입니다.

echo "This is my number: " . ($variable ?? 0); 

널 병합 연산자 PHP 7.0.0 현재 가능하다. PHP 5.3.0 이전 버전에서 사용할 수있는 대체 방법은 isset()ternary operator?:을 사용하는 것입니다.

echo "This is my number: " . (isset($variable) ? $variable : 0); 
+4

가장 친한 친구는 PHP 7+에만 적용됩니다 :) – ishegg

+1

@ishegg 요즘 누구나 사용해야 할 것입니다. – salathe

+0

@salathe 아닙니다. 루비가 더 좋다. –

2

이 같은 시도 :이 에코 문 다음에 뭔가 다른`$의 variable`를 사용하려고하는 경우 PHP 5+

관련 문제