Php 如何在Zend Action Helper(或类)中使用uasort()?
我想使用uasort()函数对数组进行排序。我写了这段代码,效果很好:Php 如何在Zend Action Helper(或类)中使用uasort()?,php,zend-framework,sorting,Php,Zend Framework,Sorting,我想使用uasort()函数对数组进行排序。我写了这段代码,效果很好: function cmp($a, $b) { $_a = strlen($a); $_b = strlen($b); if($_a==$_b) { return 0; } return ($_a < $_b)? -1 : +1; } $arr = array(
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");
这是我的密码
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;
}
}
使用静态函数cmp(){}
但仍然返回null
如何修复它?您指定的回调错误。如果是实例方法,则需要将其指定为
array($this, 'cmp');
array('Zend_Controller_Action_Helper_Utility', 'cmp');
如果将其设置为静态方法,则需要将其指定为
array($this, 'cmp');
array('Zend_Controller_Action_Helper_Utility', 'cmp');
有关更多详细信息,请参阅。它没有像我预期的那样工作,只需返回布尔值true(var\u dump)@Jon@eureka:不返回数组,而是将其排序到位。阅读文档。