좋아요!
정답률 70%
문제별 결과
PHP에서 ** 연산자는 비트 연산이다.
**는 거듭제곱 연산자입니다. 2 ** 3은 8입니다. 비트 연산은 &, |, ^, ~ 등입니다.
PHP 7.4에서 화살표 함수는 return 키워드를 명시적으로 작성해야 한다.
화살표 함수(fn($x) => $x * 2)는 => 뒤의 표현식을 자동으로 반환합니다. return을 쓸 필요가 없습니다.
PHP 8.0에서 mixed 타입이 도입되었다.
mixed는 모든 타입을 허용한다는 명시적 선언입니다. 타입 힌트가 없는 것과 의미적으로 같지만, 명시적입니다.
PHP에서 문자열은 작은따옴표로만 정의할 수 있다.
작은따옴표, 큰따옴표, heredoc, nowdoc 4가지 방법으로 문자열을 정의할 수 있습니다.
PHP에서 array_search()는 찾지 못하면 null을 반환한다.
array_search()는 찾지 못하면 false를 반환합니다. 인덱스 0과 구분을 위해 === 비교가 필요합니다.
PHP에서 trigger_error()로 발생시킨 에러는 try-catch로 잡을 수 있다.
trigger_error()는 에러를 발생시키며, 예외가 아니므로 try-catch로 잡을 수 없습니다. set_error_handler()로 처리합니다.
PHP에서 strpos()의 결과가 0일 때 if(strpos(...))로 체크하면 false와 혼동될 수 있다.
strpos()가 0(문자열 시작 위치)을 반환할 때 if($pos)는 false가 됩니다. if($pos !== false)로 체크해야 합니다.
PHP에서 모든 클래스는 반드시 생성자를 정의해야 한다.
생성자가 없으면 빈 생성자가 자동으로 사용됩니다. 필수가 아닙니다.
PHP에서 __invoke()를 정의하면 객체를 함수처럼 호출할 수 있다.
__invoke() 매직 메서드가 있으면 $obj()로 호출할 수 있습니다.
PHP에서 foreach 루프 안에서 참조(&)를 사용한 후에는 반드시 unset해야 한다.
foreach($arr as &$val) 후 unset($val)하지 않으면, 이후 $val 사용 시 배열의 마지막 요소를 변경할 위험이 있습니다.