короткий вопрос.
с учетом следующего примера:
$arr = array();
$arr[0] = false ?: NULL;
var_dump($arr[0]);
var_dump($arr[1]);
var_dump(isset($arr[0]));
var_dump(isset($arr[1]));
var_dump(count($arr));
результирующий вывод:
NULL
NULL
bool(false)
bool(false)
int(1)
почему результирующий массив имеет размер 1вместо 0 и есть ли способ предотвратить это при использовании троичного оператора?Это ошибка или предполагаемое поведение?
Кстати, я использую php 5.3.3-7, но в настоящее время не могу проверить его на другой версии.