функция выдает ошибку на сервере Linux - PullRequest
0 голосов
/ 16 февраля 2011

Я использую функцию, которую я нашел на php.net (я думаю), чтобы отсортировать массив на основе значения

usort($comments, function ($a, $b) { return $b["date"] - $a["date"]; });

Предполагается, что сначала ставятся новые даты. Отлично работает на windows localhost, выдает ошибку на сервере linux. Почему? Кто-нибудь может дать мне замену?

Ответы [ 3 ]

3 голосов
/ 16 февраля 2011

Возможно, вы используете версию PHP <5.3 в вашем Linux.Анонимные функции доступны только в последних версиях PHP. </p>

function mySort($a, $b) { return $b["date"] - $a["date"]; }

usort($comments, 'mySort');
3 голосов
/ 16 февраля 2011

Возможно, потому что ваш сервер не работает с PHP 5.3 и лямбда-функции доступны только с тех пор.Какую ошибку вы получаете?

В целом код выглядит правильно.Рабочая версия для PHP <5.3 будет: </p>

function custom_sort($a, $b) {
    return $b["date"] - $a["date"];
}

usort($comments, "custom_sort");
2 голосов
/ 16 февраля 2011

Мое предположение: ваш сервер Windows работает под управлением PHP 5.3. На вашем сервере Linux установлена ​​более старая версия. Поддержка анонимных функций была добавлена ​​в PHP 5.3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...