<?PHP 
$number = array(array('tir','tire','100'),
array('Oil','oil','50'),
array('spk','spark','10'));

function compare($x,$y){
if($x[1]==$y[1]){

return 0;}
else if($x[1]<$y[1]){
return -1;
}
else{

return 1;}
}
usort($number,'compare');
print_r($number);
?>
        那个function函数是什么意思 看不懂  哪些返回值是怎么回事  原理究竟是什么 请高手详细讲解一下 小弟刚学PHP

解决方案 »

  1.   

    排序函数
    按member的子元素的第二个值进行排序!好像是升序
      

  2.   

    我的理解,lz可以参考下我下面的例子,希望对你有所帮助$number = array(
        array('tir1','tire2','100'),
                    array('Oil1','oil2','50'),
                    array('spk1','spark2','10')

     );
                
    function compare($x,$y){
    if($x[1]==$y[1]){
     return 0;
     } else if($x[1]<$y[1]){
                    //可以输出来看一下
    //var_dump($x[1]);  
    //var_dump($y[1]);
    //echo 22;
    return -1;

    }else{
    return 1;

    }
    }
    //echo '<pre>';
    usort($number,'compare');
    print_r($number);
    // 函数compare 是比较函数 ,  也就是把$number数组值代入compare这个函数中进行比较,根据比较的结果,重新排序这个$number数组的内部值//首先比较的是$x[1]==$y[1]//也就是oil2 跟 tire2 进行比较 ,显然他们的值不一样,于是进行$x[1]<$y[1] 比较,明显oil2 与tire2 //oil的首字线在tire的首字母前,显然返回-1,也就是要把array('Oil1','oil2','50')排在array('tir1','tire2','100')前,接着是spark2与tire2进行比较,同理,结果返回-1,也就是要把 array('spk1','spark2','10') 排在array('tir1','tire2','100')前,最终$number中的排序为 $number = array(array('Oil1','oil2','50') ,array('spk1','spark2','10'),array('tir1','tire2','100') );