2011-02-16 6 views
0

나는 php.net에서 발견 한 함수를 사용하고있다. (나는 생각한다) 값을 기반으로 배열을 정렬한다.함수는 리눅스 서버에 오류를 준다.

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

새로운 날짜를 first.Works로 설정하면 Windows localhost에 문제가 생긴다. 리눅스 서버. 왜? 아무도 나에게 대체품을 줄 수 있니?

답변

3

Linux에서 PHP 버전 < 5.3을 사용하고있을 가능성이 높습니다. 익명 함수는 최신 PHP 버전에서만 사용할 수 있습니다.

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

usort($comments, 'mySort'); 
+0

그게 사실입니다. 나는 알고 싶다. 내 서버는 PHP 5.2에서 실행 중입니다. 감사합니다. – andrei

2

내 생각 엔 Windows 서버에서 PHP 5.3을 실행 중입니다. Linux 서버가 이전 버전을 실행 중입니다. 익명 함수에 대한 지원은 PHP 5.3에서 추가되었습니다.

3

아마 서버가 PHP 5.3을 실행하지 않아서 lambda functions이 그 이후에만 사용 가능할 수 있습니다. 어떤 오류가 발생합니까?

일반적으로 코드가 올바르게 표시됩니다. PHP < 5.3의 작업 버전은 다음과 같습니다.

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

usort($comments, "custom_sort"); 
관련 문제