usort($this->array,"$this->compare");
改为
usort($this->array, array($this, "compare")); 可以写做这样
class sort2 {
var $array; //二维数组
var $index; //排序列数
/*初始化*/
function sort2($array,$index=1) {
$this->array=$array;
$this->index=$index;
usort($this->array,array($this, "compare")); //若是php4,则写做 array(&$this, "compare")
}
/*比较一维数组大小*/
function compare($a,$b)
{
$aa=$this->value($a,$this->index);
$bb=$this->value($b,$this->index);
return $aa-$bb;
}
/*一维数组取值*/
function value($a,$index)
{
return $a[$index]; //注意这里的改动
}
/*返回整个数组*/
function get_array()
{
return $this->array;
}
} php已经提供了很好的排序函数,为什么不用呢?$index = 1;
foreach($a as $r) {
$t[] = $r[$index];
}
array_multisort($t, $a);
print_r($a);
改为
usort($this->array, array($this, "compare")); 可以写做这样
class sort2 {
var $array; //二维数组
var $index; //排序列数
/*初始化*/
function sort2($array,$index=1) {
$this->array=$array;
$this->index=$index;
usort($this->array,array($this, "compare")); //若是php4,则写做 array(&$this, "compare")
}
/*比较一维数组大小*/
function compare($a,$b)
{
$aa=$this->value($a,$this->index);
$bb=$this->value($b,$this->index);
return $aa-$bb;
}
/*一维数组取值*/
function value($a,$index)
{
return $a[$index]; //注意这里的改动
}
/*返回整个数组*/
function get_array()
{
return $this->array;
}
} php已经提供了很好的排序函数,为什么不用呢?$index = 1;
foreach($a as $r) {
$t[] = $r[$index];
}
array_multisort($t, $a);
print_r($a);
手册上的例子,也不太明白例子 3. 使用对象的成员函数的 usort() 例子 <?php
class TestObj {
var $name; function TestObj($name)
{
$this->name = $name;
} /* This is the static comparing function: */
function cmp_obj($a, $b)
{
$al = strtolower($a->name);
$bl = strtolower($b->name);
if ($al == $bl) {
return 0;
}
return ($al > $bl) ? +1 : -1;
}
}$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");usort($a, array("TestObj", "cmp_obj"));foreach ($a as $item) {
echo $item->name . "\n";
}
?> 上例将输出:b
c
d
class obj {
function obj(){}
function obj1(){}
}
print_r(get_class_methods('obj'));
?>