엘비스 연산자(?:) Unraveled in PHP
복잡한 PHP 코드베이스 깊숙한 곳에서 신비한 연산자를 만날 수 있습니다: ?: 연산자. "엘비스 연산자"라고 불리는 이 연산자는 "그 목적이 무엇인가요?"라고 궁금해할 수도 있습니다.
기본적으로 ?: 연산자는 왼쪽 피연산자가 "진실"하다고 간주되면 왼쪽 피연산자로 평가되며, 그렇지 않으면 오른쪽 피연산자입니다. 즉,
foo ?: bar
은 대략 삼항 연산자인
foo ? foo : bar
또는 전통적인 if-else 문인
if (foo) { foo = foo; } else { foo = bar; }
과 동일합니다. 삼항 연산자와 달리 ?: 연산자는 왼쪽 피연산자를 한 번만 평가하므로 성능이 향상됩니다.
사용 예
코드 조각에서 볼 수 있듯이 일반적인 사용 사례 중 하나는 자체 검사입니다.
$items = $items ?: $this->_handle->result('next', $this->_result, $this);
여기서, $items가 null이거나 $items인 경우 $this->_handle->result()의 결과를 $items에 할당합니다. $items를 변경하지 않고 그대로 둡니다.
추가 예시
다음은 동작을 설명하는 몇 가지 예시입니다.
var_dump(5 ?: 0); // 5 var_dump(false ?: 0); // 0 var_dump(null ?: 'foo'); // 'foo' var_dump(true ?: 123); // true var_dump('rock' ?: 'roll'); // 'rock' var_dump('' ?: 'roll'); // 'roll' var_dump('0' ?: 'roll'); // 'roll' var_dump('42' ?: 'roll'); // '42'
해야 합니다. 나중에 ?: 연산자를 만나게 되면 그 목표는 진실성을 기반으로 평가하고 할당하는 간결한 방법을 제공하는 것임을 기억하세요. 코드를 더욱 효율적이고 읽기 쉽게 만듭니다.
위 내용은 Elvis 연산자(?:)란 무엇이며 PHP에서 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!