У меня есть два сервера.Они оба работают php 5.3.3.Этот код работает на одном сервере и возвращает синтаксическую ошибку на другом.Есть ли настройка php ini, которая влияет на это поведение?Я не могу найти ничего связанного с документацией PHP, но я могу искать не там.
Сервер 1
> php -v
PHP 5.3.3 (cli) (built: Sep 23 2010 14:15:16)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Xdebug v2.0.3, Copyright (c) 2002-2007, by Derick Rethans
php > echo explode(" ", " foo ")[1];
foo
Сервер 2
> php -v
PHP 5.3.3 (cli) (built: Jan 31 2011 15:57:29)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
php > echo explode(" ", " foo ")[1];
Parse error: syntax error, unexpected '[', expecting ',' or ';' in php shell code on line 1
Еще одна идея: PHP на обоих серверах компилируется по своему усмотрению, поэтому он также может иметь другой флаг компиляции.