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)){
array('id'=>2,'data'=>b')
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'),
php自体には多次元配列をソートする機能があります。
bool array_multisort (配列 $ar1 [, 混合 $arg [, 混合 $... [, 配列 $... ]]] )
//時刻 inputdate をキー値として使用して、2 次元配列を降順に並べ替えます
$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"]);
?>