2016-04-12 11 views
-1

私はすべての要素の2番目の値で配列を並べ替えたいと思います。 以下の例のように。値は不明です。配列の不明な値をPHPで並べ替える

array(4) { 
    [0]=> 
    array(2) { 
    [0]=> 
    int(2) 
    [1]=> 
    int(1)        **last in array** 
    } 
    [1]=> 
    array(2) { 
    [0]=> 
    int(7) 
    [1]=> 
    int(4)        **first in array** 
    } 
    [2]=> 
    array(2) { 
    [0]=> 
    int(5) 
    [1]=> 
    int(2)        **Second in array** 
    } 
} 
+1

'usort($ myarrayの、からインスピレーションを得たソリューションです。関数($ a、$ b){戻り値$ a [1] <=> $ b [1]; }); '(PHP7)PHPの以前のバージョンでは、コールバック関数を変更する必要がありますが、[usort()docs](http://php.net/manual/en/function.usort.php)たくさんの例を与える –

答えて

1

usort機能は、ジョブを実行する必要があります。

$arr = [ 
    [2, 1], 
    [7, 4], 
    [5, 2], 
]; 

usort($arr, function($a, $b){ 
    return $a[1] - $b[1]; 
}); 

print_r($arr); 

出力を:ここで

Array 
(
    [0] => Array 
     (
      [0] => 2 
      [1] => 1 
     ) 

    [1] => Array 
     (
      [0] => 5 
      [1] => 2 
     ) 

    [2] => Array 
     (
      [0] => 7 
      [1] => 4 
     ) 
) 
1

here

$input = array(array(2,1),array(7,4),array(5,2)); 
function method1($a,$b) 
{ 
    return ($a[1] <= $b[1]) ? 1 : -1; 
} 
usort($input, "method1"); 
print_r($input); 
関連する問題