У меня есть preg_match
в коммутаторе / корпусе, который соответствует пустому объекту, и я не понимаю, почему.
Вот мой код:
switch ( $page_type ) {
case ( preg_match('/^assets_?.*/', $page_type ) ? true : false ):
// code
break;
}
$page_type
обычно является строкой, но я нашел несколько случаев, когда она может быть NULL.По какой-то причине троичный здесь возвращает true в одном из этих случаев, поэтому код внутри случая запускается.
Я понимаю, что мог бы это исправить, проверив значение NULL перед переключателем, но может кто-тообъясните, почему это происходит?