PHP の基礎 - 2 次元配列のソートの姉妹記事

WBOY
リリース: 2016-06-23 13:51:36
オリジナル
864 人が閲覧しました

先ほど、php の多次元配列のソート関数である array_multisort() を紹介しました。さらに詳しく知りたい方は、2 次元配列のソート array_multisort をクリックしてください


以下は、多次元配列のソートを紹介します。 array_multisort() には適用されません。

ここに 2 つの PHP ソート関数があります。1 つは asort で、もう 1 つは arsort です。

asort(array,sorttype) 関数は配列をソートし、インデックスの関係を維持します。主に、セルの順序が重要な連想配列の並べ替えに使用されます。

オプションの 2 番目のパラメーターには、追加の並べ替えフラグが含まれます。

SORT_REGULAR - デフォルト。オリジナルのタイプで(タイプを変更せずに)処理されます。

SORT_NUMERIC - 値を数値として処理します

  • SORT_STRING - 値を文字列として処理します
  • SORT_LOCALE_STRING - ローカル設定に基づいて、値を文字列として処理します。
  • 成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。

  • arsort(array,sorttype) 関数は、配列を逆順に並べ替え、インデックス関係を維持します。主に、セルの順序が重要な連想配列の並べ替えに使用されます。この関数の使用法は、この関数が配列のインデックスを逆順に並べ替えることを除いて、asort と同じです。

    2 次元配列の並べ替えアルゴリズムを以下に示します。


    <?php
    ログイン後にコピー
    <span style="white-space:pre">	</span>function array_sort($arr,$key,$type='asc'){ <span style="white-space:pre">		</span>$keyvalues = $new_array = array();<span style="white-space:pre">		</span>foreach ($arr as $k=>$v){<span style="white-space:pre">			</span>$keyvalues[$k] = $v[$key];<span style="white-space:pre">		</span>}<span style="white-space:pre">		</span>if($type == 'asc'){<span style="white-space:pre">			</span>asort($keyvalues);<span style="white-space:pre">		</span>}else{<span style="white-space:pre">			</span>arsort($keyvalues);<span style="white-space:pre">		</span>}<span style="white-space:pre">		</span>foreach ($keyvalues as $k=>$v){<span style="white-space:pre">			</span>$temparray[$k] = $arr[$k];<span style="white-space:pre">		</span>}<span style="white-space:pre">		</span>return $temparray; <span style="white-space:pre">	</span>}<span style="white-space:pre">	</span>$student = array(<span style="white-space:pre">		</span>array('name'=>'张三','age'=>'18','weight'=>100,'height'=>180),<span style="white-space:pre">		</span>array('name'=>'李四','age'=>'20','weight'=>200,'height'=>150),<span style="white-space:pre">		</span>array('name'=>'王五','age'=>'30','weight'=>150,'height'=>165),<span style="white-space:pre">		</span>array('name'=>'赵六','age'=>'50','weight'=>90,'height'=>173),<span style="white-space:pre">		</span>array('name'=>'孙七','age'=>'35','weight'=>160,'height'=>170)<span style="white-space:pre">	</span>);<span style="white-space:pre">	</span>$studentlist = array_sort($student,'weight');<span style="white-space:pre">	</span>var_dump($studentlist);?>
    ログイン後にコピー

    asort 関数を通じて、2 次元配列のインデックス並べ替えが保持され、このインデックスを通じて、ソートされた 2 次元配列を取得できます。次元配列のインデックスに対応する値が得られます。

    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート