훌륭해요!
정답률 80%
문제별 결과
PHP에서 str_contains()는 PHP 7.0부터 사용 가능하다.
str_contains()는 PHP 8.0에서 추가되었습니다. 이전 버전에서는 strpos() !== false를 사용해야 합니다.
PHP에서 trim()은 문자열의 앞쪽 공백만 제거한다.
trim()은 문자열 양쪽의 공백을 제거합니다. 앞쪽만 제거하려면 ltrim(), 뒤쪽만은 rtrim()을 사용합니다.
PHP에서 callable 타입 힌트는 함수, 메서드, 클로저 모두를 허용한다.
callable은 함수명 문자열, [클래스, 메서드] 배열, 클로저, __invoke를 가진 객체 등을 모두 받습니다.
PHP는 컴파일 언어이다.
PHP는 인터프리터 언어입니다. OPcache로 바이트코드 캐시는 가능하지만 기본적으로 매 요청마다 해석됩니다.
PHP에서 array_push()는 배열의 앞쪽에 요소를 추가한다.
array_push()는 배열의 끝에 요소를 추가합니다. 앞쪽에 추가하려면 array_unshift()를 사용합니다.
PHP에서 min()과 max() 함수로 최솟값과 최댓값을 구할 수 있다.
min(1, 2, 3)은 1, max(1, 2, 3)은 3을 반환합니다. 배열도 인자로 받을 수 있습니다.
PHP에서 정규표현식의 구분자는 반드시 / 를 사용해야 한다.
/, #, ~ 등 알파벳이 아닌 문자를 구분자로 사용할 수 있습니다. URL 매칭 시 #이 편리합니다.
PHP에서 SQL 인젝션을 방지하려면 addslashes()만 사용하면 된다.
addslashes()는 불완전합니다. PDO의 prepared statement나 mysqli_real_escape_string()을 사용해야 합니다.
PHP의 정규표현식에서 /i 수정자는 대소문자를 구분하지 않게 한다.
preg_match("/hello/i", "Hello World")는 대소문자를 무시하여 매칭됩니다.
PHP에서 hash_equals()는 타이밍 공격에 안전한 문자열 비교를 수행한다.
hash_equals($known, $user_input)는 상수 시간에 비교하여 타이밍 사이드 채널 공격을 방지합니다.