【发布时间】:2011-02-14 23:40:43
【问题描述】:
今天在处理一些代码时,我发现以下代码可以在 5.3 中使用,但在更早的版本中不行。
<?php
class Test{
public function uasort(){
$array = array( 'foo' => 'bar', 123 => 456 );
uasort( $array, 'self::uasort_callback' );
return $array;
}
static private function uasort_callback( $a, $b ){
return 1;
}
}
$Test = new Test;
var_dump( $Test->uasort() );
// version 5.3.2 - works fine
// version 5.2.13 - Fatal error: Cannot call method self::uasort_callback() or method does not exist
只是好奇这个功能叫什么,以及它是否被认为是好的、坏的(或草率的)实践,因为将其更改为
uasort( $array, 'Test::uasort_callback' );
在 5.2 中也可以正常工作。
【问题讨论】:
标签: php arrays static callback