Я хочу отсортировать массив с помощью функции uasort (). Я написал этот кусок кода, и он работал хорошо:
function cmp($a, $b)
{
$_a = strlen($a);
$_b = strlen($b);
if($_a==$_b)
{
return 0;
}
return ($_a < $_b)? -1 : +1;
}
$arr = array(
"234560"=>"the quick brown fox jump",
"234561"=>"the quick brown fox jump over the lazy dog",
"234562"=>"the quick brown"
);
$array = uasort($arr,"cmp");
Но когда я помещаю его в класс, он возвращает ноль с предупреждением:
Warning: uasort() expects parameter 2 to be a valid callback, function 'cmp' not found or invalid function name in...
Вот мой код
class Zend_Controller_Action_Helper_Utility extends Zend_Controller_Action_Helper_Abstract
{
public function uasort($array)
{
return uasort($array, "cmp");
}
function cmp($a, $b)
{
$_a = strlen($a);
$_b = strlen($b);
if ($_a == $_b)
{
return 0;
}
return ($_a < $_b) ? -1 : +1;
}
}
я тоже попробую
return uasort($array, "Zend_Controller_Action_Helper_Utility::cmp");
с static function cmp(){}
, но я все еще возвращаю ноль.
Как я могу это исправить?