"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Elvis 연산자(?:)란 무엇이며 PHP에서 어떻게 작동하나요?

Elvis 연산자(?:)란 무엇이며 PHP에서 어떻게 작동하나요?

2024년 11월 21일에 게시됨
검색:102

What is the Elvis Operator (?:) and How Does it Work in PHP?

엘비스 연산자 (?:) 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);

여기서 $this->_handle->result()의 결과를 $items에 할당합니다. $items는 null이거나 거짓이며, 그렇지 않으면 $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'

나중에 ?: 연산자를 만나게 된다면, 그 목표는 진실성을 기반으로 평가하고 할당하는 간결한 방법을 제공하여 코드를 더 효율적이고 읽기 쉽게 만드는 것임을 기억하세요.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3