この記事では主にphpに関する配列を紹介していますので、必要な方は参考にしてください
データ構造のシミュレーション
配列の前に追加します
。
array_push $a=array("red","green"); array_push($a,"blue","yellow"); Array ( [0] => red [1] => green [2] => blue [3] => yellow )
配列の前を削除
array_unshift $a=array("a"=>"red","b"=>"green"); array_unshift($a,"blue"); Array ( [0] => blue [a] => red [b] => green )
配列の後に削除
$a=array("a"=>"red","b"=>"green","c"=>"blue"); echo array_shift($a); redArray ( [b] => green [c] => blue )
phpの基本 - 2次元配列のソートarray_multisort
array_multisort(array1, ソート順序, ソート タイプ, array2, array3..) は、複数の配列または多次元配列をソートする関数です。
配列1
必須。入力配列を指定します。
並べ替え順序 オプション。並べ替えの順序を指定します。可能な値は SORT_ASC と SORT_DESC です。
仕分けタイプ オプション。並べ替えの種類を指定します。可能な値は、SORT_REGULAR、SORT_NUMERIC、および SORT_STRING です。
配列2 オプション。入力配列を指定します。
配列3 オプション。入力配列を指定します。
パラメータ内の配列はテーブルの列として扱われ、行ごとに並べ替えられます。これは SQL の ORDER BY 句の機能と似ています。最初の配列は、ソートされるメインの配列です。配列内の行 (値) が同じであると比較された場合、 は次の入力配列内の対応する値のサイズに従って並べ替えられます。
最初のパラメータは配列であり、後続の各パラメータは配列、または次の並べ替え順序フラグのいずれかになります (並べ替えフラグはデフォルトの並べ替え順序を変更するために使用されます):
SORT_ASC - デフォルト、昇順で並べ替えます。 (A-Z)
SORT_DESC - 降順に並べ替えます。 (Z-A)
その後、並べ替えのタイプを指定できます:
SORT_REGULAR - デフォルト。各項目を規則正しい順序で並べます。
SORT_NUMERIC - 各項目を数値順に並べ替えます。
SORT_STRING - 各項目をアルファベット順に並べます
$a=array("red","green","blue"); array_pop($a); Array ( [0] => red [1] => green )
<?php function my_sort($arrays,$sort_key,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC ){ if(is_array($arrays)){ foreach ($arrays as $array){ if(is_array($array)){ $key_arrays[] = $array[$sort_key]; }else{ return false; } } }else{ return false; } array_multisort($key_arrays,$sort_order,$sort_type,$arrays); return $arrays; } $person = array( array('id'=>1,'name'=>'fj','weight'=>100,'height'=>180), array('id'=>2,'name'=>'tom','weight'=>53,'height'=>150), array('id'=>3,'name'=>'jerry','weight'=>120,'height'=>156), array('id'=>4,'name'=>'bill','weight'=>110,'height'=>190), array('id'=>5,'name'=>'linken','weight'=>80,'height'=>200), array('id'=>6,'name'=>'madana','weight'=>95,'height'=>110), array('id'=>7,'name'=>'jordan','weight'=>70,'height'=>170) ); var_dump($person); $person = my_sort($person,'name',SORT_ASC,SORT_STRING); var_dump($person); $person = my_sort($person,'weight'); var_dump($person); ?>
コードは次のとおりです:
$users = array( array('name' => 'tom', 'age' => 20) , array('name' => 'anny', 'age' => 18) , array('name' => 'jack', 'age' => 22) );
$ages = array(); foreach ($users as $user) { $ages[] = $user['age']; }
array_multisort($ages, SORT_ASC, $users);
この効果は、foreach トラバーサルを通じてのみ達成することもできますが、PHP 開発者がより良い方法を提供してくれたので、不必要なトラブルを避けることができます。
PHP の 2 次元配列重複排除関数
PHP の配列には重複を削除する組み込み関数 array_unique () がありますが、PHP の array_unique 関数は 1 次元配列にのみ適用され、多次元配列には適用されません。以下は 2 次元配列を提供します。配列
array_unique 関数
array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users);
以上がPHPのいくつかの配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。