2017-12-31 107 views
1

흐름 내가 PHP 7.2.0중첩 null 결합 연산자 (??)가 PHP에서 어떻게 작동합니까? 단계별 필요 실행의 설명은

을 사용하고 내가 널 병합 연산자의 정상적인 기본적인 사용법을 이해 한 (?)하지만 난 수 없습니다 해요 null 통합 연산자 (??)가 중첩 된 경우의 실행 흐름 및 기능을 이해해야합니다.

다음 코드 예제를 고려하고 실행 흐름을 단계별로 설명하십시오.

+1

비어 있지 않은 첫 번째 항목은 에코됩니다. $ foo와 $ bar는 모두 비어 있지만 $ baz는 비어 있지 않습니다. –

답변

4

null 통합 연산자의 단일 단계 주위에 괄호를 추가하면 예제가 더 깨끗해집니다.

echo ($foo ?? ($bar ?? ($baz ?? $qux))); 

기본적으로 왼쪽에서 오른쪽으로 실행하는 것과 같습니다.

null 병합 연산자는 오른쪽 연관입니다. 즉, 작업은 오른쪽에서 왼쪽으로 그룹화됩니다. 즉, 표현 a ?? b ?? ca ?? (b ?? c)으로 평가됩니다.

1

기본 사용법과 비슷한 방식으로 작동합니다.

  1. 그것은이 설정되어 있지 않은 것 isset($foo)을 확인 너무 NULL을 너무 포함되어있어,이 설정되어 있지 않은 것 isset($bar)을 확인 $bar
  2. 가고, 그렇게 NULL을 포함, 다음과 같이

    실행 흐름이 될 것입니다 , $baz

  3. 에 대한 설정이 완료되었습니다. 1 값이 포함되어 있으므로 인쇄되고 실행이 중지됩니다.