В PHP 5.3 код: Код (Text): sort( &$files ); страница отображается. В PHP 5.4 уже выходит ошибка '500'. Исправил код на Код (Text): sort( $files ); Заработало и PHP 5.4 Сортировка происходит, вроде бы, также. Подскажите, пожалуйста, при каких условиях результат выполнения инструкций: Код (Text): sort( &$files ); и Код (Text): sort( $files ); может различаться?
PHP: sort( &$files ); должно выкинуть предупреждение или ошибку, потому что там при определении функции уже стоит &
Раньше нужно было явно указывать передачу по ссылке и в сигнатуре функции и при использовании. С 5.3 было решено оставить это указание непосредственно в сигнатуре и попытка запихнуть амперсанд в вызов приводит к неожиданному результату - предупреждению об устаревшем функционале для версии 5.3 и фатальную ошибку для 5.4 (https://php.net/manual/ru/language.references.pass.php). То есть @Геон просто не видел кучи предупреждений о deprecated функционале, а при переходе на 5.4 сразу получил белый экран. Вот почему важно читать патч-ноты и гайды по миграции.