2
私はuasort()関数を使って配列をソートしたいと思います。私は、コードのこの部分を書き、それがうまく働いた:Zend Action Helper(またはクラス内)で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");
しかし、私はクラスにそれを置くとき、それは警告でnullを返します。ここでは
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(){}
と一緒ですが、まだnullが返されます。
どうすれば修正できますか?
私は期待どおりに動作しません、真(var_dump)真を返します。 @Jon – hungneox
@eureka:['uasort'](http://php.net/manual/en/function.uasort.php)は、配列を返さず、インプレースでソートします。ドキュメントをお読みください。 – Jon
ありがとうございました@ジョン、私の問題は解決しました – hungneox