PHP の 2 次元配列のソートと traversal_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:01:40
オリジナル
915 人が閲覧しました

PHP での 2 次元配列の定義についてはあまり説明しません。これは非常に簡単です。次の例はすべて、PHP の 2 次元配列のソートとトラバーサルに関するものです。それぞれの例では、PHP の 2 次元配列のソートが紹介されています。方法。 。 ​

PHP チュートリアルでは 2 次元配列の定義についてはあまり説明しませんが、以下の例はすべて php の 2 次元配列のソートとトラバーサルに関するものです。方法 PHP の 2 次元配列のソート

関数 multi_array_sort($multi_array,$sort_key,$sort=sort_asc){

If(is_array($multi_array)){
foreach ($multi_array as $row_array){
If(is_array($row_array)){
$key_array[] = $row_array[$sort_key]; }その他{
-1 を返します。                                                                      }
}その他{
-1 を返します。 }
Array_multisort($key_array,$sort,$multi_array); $multi_array を返します
}



配列(
array('id'=>1,'data'=>a'),
array('id'=>3,'data'=>c'),

array('id'=>2,'data'=>b')
);


php自体には多次元配列をソートする機能があります。


bool array_multisort (配列 $ar1 [, 混合 $arg [, 混合 $... [, 配列 $... ]]] )

方法 2


//時刻 inputdate をキー値として使用して、2 次元配列を降順に並べ替えます

関数 array_sort($arr,$keys,$type){

$keysvalue=array();

$i = 0;
foreach($arr as $key=>$val) {

$val[$keys] = str_replace("-","",$val[$keys]); $val[$keys] = str_replace(" ","",$val[$keys]);
$val[$keys] = str_replace(":","",$val[$keys]);
$keysvalue[] =$val[$keys];

}
asort($keysvalue); //キー値の並べ替え
replace($keysvalue); // ポインタを配列の最初のポインタにリダイレクトします
foreach($keysvalue as $key=>$vals) {
$keysort[] = $key;

}

$new_array = array();
if($type != "asc"){
for($ii=count($keysort)-1; $ii>=0; $ii--) {
$new_array[] = $arr[$keysort[$ii]];
}
}その他{
for($ii=0; $ii
$new_array[] = $arr[$keysort[$ii]];
}
}
$new_array を返す;
}
?>


方法 3

$a = array(
       0=>array("id"=>1,"name"=>"小さな何","addr"=>"0:1"),
       1=>array("id"=>2,"name"=>"小刚","addr"=>"0:1:2"),
       2=>array("id"=>3,"name"=>"小军","addr"=>"0:1:3"),
       3=>array("id"=>4,"name"=>"公司","addr"=>"0:4"),
    );
関数 sort_by($array, $keyname = null, $sortby){
    $myarray = $inarray = array();
    foreach($array as $i=>$befree){
      $myarray[$i] = $array[$i][$keyname];
    }
    スイッチ($sortby){
       ケース「asc」:
       並べ替え($myarray);
       休憩;
       ケース「品揃え」:
       arsort($myarray);
       休憩;
       ケース「natcasesor」:
       natcasesor($myarray);
       休憩;
    }
    foreach($myarray as $key=>$befree){
        $inarray[$key] = $array[$key];
        }
          $inarray を返します;
}
print_r(sort_by($a,"addr","arsort"));


print_r($a[2]["id"]);
?>


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445421.html技術記事 php 二組数組排序及遍历哦、我们每例すべては異なる方法介在...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート