ホームページ  >  記事  >  バックエンド開発  >  指定したキー値でソートされた PHP 2 次元配列_PHP チュートリアル

指定したキー値でソートされた PHP 2 次元配列_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:00:271256ブラウズ

これまでさまざまな PHP 配列ソート方法について説明しましたが、同時に PHP には、sort()、asort()、arsort() などの多数のデータソート関数も提供されています。 Key-Value ソート方法を指定して 2 次元配列をソートする方法。

具体例

コードは次のとおりです コードをコピー

/*指定されたキー値で 2 次元配列をソート*/
関数 array_sort($array,$keys,$type='asc'){
if(!isset($array) || !is_array($array) || empty($array)){
戻ります '';
}
if(!isset($keys) || トリム($keys)==''){
戻ります '';
}
if(!isset($type) || $type=='' || !in_array(strto lower($type),array('asc','desc'))){
戻ります '';
}
$keysvalue=array();
foreach($array 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;
}
$keysvalue = array();
$count=count($keysort);
if(strto lower($type) != 'asc'){
for($i=$count-1; $i>=0; $i--) {
$keysvalue[] = $array[$keysort[$i]];
}
}その他{
for($i=0; $i $keysvalue[] = $array[$keysort[$i]];
}
}
$keysvalue を返します;
}

使用方法:

例:

コードは次のとおりです コードをコピー
$a=配列(
1=>配列(
id=>1,
価格=>'79',
)、
2=>配列(
id=>1,
価格=>'68',
)、
);

使用するだけ:

コードは次のとおりです コードをコピー

array_sort($a,'価格');

php配列ソート関数

sort (&$arr [,fruits] ) 配列を下位から上位にソートし、新しいキー名を割り当てます。 bool bKjia.c0m
rsort ( &$arr [,fruits] ) 配列を逆ソートし、新しいキー名を割り当てます
asort ( &$arr [,fruits] ) は配列をソートし、インデックスを変更しないようにします
arsort( &$arr [,fruits] ) は配列を逆順にソートし、インデックスを変更しないようにします


ksort ( &$arr [,fruits] ) 配列をキー名でソートします
krsort( &$arr [,fruits] ) は、グループ番号をキー名によって逆順にソートします


natsort( &$arr ) 配列のキー値に対して「自然な並べ替え」を実行し、長さ、アルファベットなどで並べ替えます。
natcasesort( &$arr ) は、大文字と小文字を区別しない配列の「自然なランキング」を実行します


usort ( &$arr , cmp_function ) ユーザー定義関数は配列をソートし、キー名を並べ替えます
uksort (&$arr, cmp_function) ユーザー定義関数は配列をキーでソートします
uasort (&$arr, cmp_function) ユーザー定義関数は配列をソートし、インデックスを変更しないようにします


array_multisort( $arr , 混合)
2 番目のパラメーターは、値に基づいて並べ替え動作を変更することです
SORT_REGULAR 通常の比較単位 SORT_NUMERIC www.bKjia.c0m 単位を数値として比較します
SORT_STRING セルは文字列として比較されます。 SROT_LOCALE_STRING セルは現在のローカル設定に従って文字列として比較されます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631255.html技術記事これまでさまざまな PHP 配列のソート方法について説明しましたが、同時に PHP には、sort()、asort()、arsort() などの多数のデータソート関数も提供されています。二次元配列インデックス ..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。