关于自定义比较函数 usort 如何使用 类中的方法


关于自定义比较函数 usort() ,如果直接使用函数,是


usort($arr, "yourfunction");



如果要使用类中的自定义方法,则用以下方式:



<?php

/**
 * SortTest
 *
 * @author andy
 */
class SortTest extends CommonAction {

    protected function my_sort($a, $b){
        if ($a == $b) return 0;
            return ($a > $b) ? 1 : -1;
    }

    public function index(){


        $arr = array(
            'products'=>array(
            array('product_id'=>'123'),
            array('product_id'=>'abc'),
            array('product_id'=>'321'),
            array('product_id'=>'111'),
            )
        );

        usort($arr['products'],array('SortTest','my_sort'));
    }

}


结果为:


Array
(
    [products] => Array
        (
            [0] => Array
                (
                    [product_id] => 111
                )

            [1] => Array
                (
                    [product_id] => 123
                )

            [2] => Array
                (
                    [product_id] => 321
                )

            [3] => Array
                (
                    [product_id] => abc
                )

        )

)



你可能感兴趣的:(PHP)