- 论坛徽章:
- 0
|
大家好
我在做一个元素为object的数组的排序。 代码如下:
class NumInCity
{
var $name;
var $num;
var $percentage;
function __construct($name, $num)
{
$this->name = $name;
$this->num = $numincity;
$this->percentage = 0;
}
function setpercentage($percentage)
{
$this->percentage = $percentage;
}
function getpercentage()
{
return $this->percentage;
}
function getcityname()
{
return $this->name;
}
function getnum()
{
return $this->num;
}
static function cmp($numincity1, $numincity2)
{
if($numincity1->num == $numincity2->num)
{
return 0;
}
return $numincity1->num < $numincity2->num ? -1 : 1;
}
}
然后我以这个class建立了数组a并写了如下代码:
usort($a, array ("NumInCity", "cmp"));
for($i = 0; $i < count($a); $i++)
{
echo $a[$i]->getname()." ".$a[$i]->getnum()."<br/>";
}
发现只是a的num排序了,name并没有排序。不知为何? |
|