도와 드릴까요? 누군가이 PHP 코드 라인의 의미를 설명 할 수 있습니까?PHP 변수 지정에 대한 정보
$options = ($options ?: array()) + $this->options;
감사
이 동등도와 드릴까요? 누군가이 PHP 코드 라인의 의미를 설명 할 수 있습니까?PHP 변수 지정에 대한 정보
$options = ($options ?: array()) + $this->options;
감사
이 동등:
if (!$options)
$options = array();
$options = $options + $this->options;
?:
는 삼원 연산자이다. $options
이 true로 평가되면 반환되고, 그렇지 않으면 빈 배열이 반환됩니다.
+operator
주어진 두 배열은 짧은 그들에게
대단히 감사합니다! –
연결하여 새로운 배열을 작성
가
$options
로$this->options
배열을 병합하여 배열$options
만들기.
$options ?: array()
$options
이면 truthy (존재와 false
아닌 경우 아마도)이기 때문에 이것은 $options
값을 반환 할 것이며, 그렇지 않으면 빈 배열을 반환한다. It's shorthand syntax for :
$options ? $options : array()
따라서이 결과는 배열입니다. 이를 위해 $this->options
배열은 +
을 통해 추가됩니다. +
array union operator은 이미 존재하지 않는 왼쪽에서 오른쪽으로 키를 추가합니다.
결과적으로 두 옵션 배열 사이에 형식 안전 ($options
이 배열이 아님) 합병이 발생합니다. "유형 안전"은 상대적이며, $options
이 숫자이거나 객체이거나 다른 경우에도 여전히 오류가 발생합니다. 그러나 우리는 $options
이 false
또는 null
이거나 array
일 수 있으리라 예상 할 수 있습니다.
대단히 고마워요! –
키워드는 다음과 같습니다. 삼항 연산자, 배열 병합. –