php関数array_multisort詳細解は誤解しやすいです.

4707 ワード

php関数を勉強します.
まずはマニュアルを見ますhttp://php.net/manual/zh/function.array-multisort.php
いくつかの権威のあるウェブサイトでもっと多くの説明を見ます.http://www.w3school.com.cn/php/func_アラリmultiisort.asp
アラyに対してmultistortでは、サイトw 3 schoolで詳しく説明していますが、以下のようになります.
     
array_multisort()         。            。             ,       ,          ,            。
  :         ,            ,  0   ,   1   。
  :                      。      ,            。

  
array_multisort()                 。
                       -     SQL   ORDER BY      。
              。     ( )       ,                      ,    。
        ,             ,             (               )  : 
SORT_ASC -   ,     。(A-Z) 
SORT_DESC -      。(Z-A)
           : 
SORT_REGULAR -   。           。 
SORT_NUMERIC -            。
 SORT_STRING -            。
二つの例を書いて、その仕事の原理を詳しく説明します.
例1:複数の配列
$a1 = ['1','2','3','4','4'];
$a2 = ['a','b', 'c', 'd', 'e'];
array_multisort($a1,SORT_DESC,$a2, SORT_DESC);
var_dump('
',$a1, $a2);
られた は
[4,4,3,2,1], [e,d,c,b,a]

1、 のパラメータは ず1つの であり、 な の でもあります.つまり、 の がある ( の は じでなければなりません.)、みんなのデータはどのように していますか? の の に っています. えば、データベースsql(order by a,b)は、aフィールドとbフィールドによってどのように べ えられていますか? は です.ここの は に て、$a 1の1は ですか?a 2のaは ですか? らは つの に しています. の を てください.
php   array_multisort       _ 1
の の の は に められています.
2、まず のパラメータ$a 1は1つの で、 2のパラメータSORT_DESCは、 を に べ えることを します.a 1が[4,4,3,2,1]に された 、$a 2も$a 1に して しています.つまり、5つの は$a 1の で べ えられています.
php   array_multisort       _ 2
3、3 のパラメータ$a 2は1つの で、4 のパラメータSORT_DESCは、「5つの 」が$a 1 に って べ えられた 、 する ( えば4、4)がある 、「 の は$a 2によって けされる」と している. のような になります.
php   array_multisort       _ 3
2:
$array = [
            ['beijing', 'shanghai', 'tianjin', 'shanghai'],
            ['1', '2', '3', '4'],
            ['a', 'b', 'c', 'd'],
        ];
array_multisort($array[0], SORT_DESC, $array[1], SORT_DESC);
var_dump('
', $array);//['tianjin', 'shanghai', 'shanghai', 'beijing'], [3,4,2,1]
られた
['tianjin', 'shanghai', 'shanghai', 'beijing'], [3,4,2,1]
これは の の と じですが、パラメータは2 の です.
1:
プロジェクトでの シーンは、しばしば2 に します.その の1つのフィールドに って べ えます.たとえば、 の については、 の の が されています.この2 を の によって に べ えたいです.
$array = [
            [
                'city'=> 'beijing',
                'person' => 99,
            ],
            [
                'city'=> 'shanghai',
                'person' => 30,
            ],
            [
                'city'=> 'tianjin',
                'person' => 10,
            ],
        ];
$sort = [];
foreach($array as $k => $v) {
      $sort[] = $v['person'];
}
array_multisort($sort, SORT_ASC, $array);
var_dump('
', $array);
に れる
array(3) {
  [0]=>
  array(2) {
    ["city"]=>
    string(7) "tianjin"
    ["person"]=>
    int(10)
  }
  [1]=>
  array(2) {
    ["city"]=>
    string(8) "shanghai"
    ["person"]=>
    int(30)
  }
  [2]=>
  array(2) {
    ["city"]=>
    string(7) "beijing"
    ["person"]=>
    int(99)
  }
}
はこの を って サイトの をあまり ていません. の の いた を て しました. しいですが、 の 1のように っていると しています. の はarrayからsortを ります.arrayの の を、sort によって たに まれた で べ えたいです.ソトはarrayの のサブ でなければならないと っていました. えば じです. にソトはarrayと の がありません. の だけです.