Псто недоразумения про пхп

Можно создать массив и проверить пустой ли он:

php > $a = array(1);
php > var_dump(empty($a));
bool(false)

Можно вывести содержимое динамически создаваемого массива:

php > var_dump(array(1));
array(1) {
  [0]=>
  int(1)
}

Но нельзя проверить пустой ли динамически создаваемый массив:

php > var_dump(empty(array(1)));
PHP Parse error:  syntax error, unexpected T_ARRAY in php shell code on line 1

Parse error: syntax error, unexpected T_ARRAY in php shell code on line 1

Понятно, что это пример притянутый за уши, но вот этот вот уже вполне реалистичный:

php > function get_array() { return array(1); }
php > var_dump(get_array());
array(1) {
  [0]=>
  int(1)
}
php > var_dump(empty(get_array()));
PHP Fatal error:  Can't use function return value in write context in php shell code on line 1

Fatal error: Can't use function return value in write context in php shell code on line 1

2012.05.14 19:55