ホームページ  >  記事  >  php教程  >  PHPは多次元配列の値のサイズソート実装コードを比較します

PHPは多次元配列の値のサイズソート実装コードを比較します

WBOY
WBOYオリジナル
2016-06-13 11:57:461474ブラウズ

重複する値がない場合は、まず array_flip() を使用してキーと値を交換し、次に krsort() を使用して、最後に array_flip() を使用してキーと値を交換してサイズを比較します。配列をインターセプトしたい場合は、array_slice() を使用します。

重複する値がある場合、何らかの並べ替えアルゴリズムが使用されます。ただし、PHP には、カスタム比較関数を使用して配列内の値を並べ替え、インデックスを維持する非常に強力な関数 uasort() が使用されます。 association.usort() はインデックスを再構築します。

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


function cmp($a, $b){
if ( $a["vote_num"] == $b["vote_num"]) {
return 0;
}
return ($a["vote_num"] > $b["vote_num"] "]) ? -1 : 1;
}

$arr = 配列
(
0 => 配列
(
o_id => 1861,
o_name = > 'http://g.jb51.net/image.gif' 、
vote_num => )、

1 => 配列
(
o_id => 1844、
o_name => バービー、
o_pic => 'http://upload.jb51. net /game_image/dfxxz/dfVIP.files/shenxiandao.jpg',
o_detail => 彼女も美人です,
vote_num => 2
),

2 => ; 配列
(
o_id => 1843,
o_name => チェン チェン,
o_pic => 'http://g.jb51.net./upload_img/2011-06/31554_4d0088da7a61ad9c8c02a530be94d 98e .p ng ',
o_detail => 美しさ,
vote_num => 3
)
uasort($arr, ”cmp”); ; pre style="text-align:left" >';
print_r ($arr)


return



コードをコピー


コードは次のとおりです:

配列 ( [2] => 配列 (

[ o_id] => 1843

[o_name] => チェン チェン
[o_pic] => http://g.jb51.net./upload_img/2011-06/31554_4d0088da7a61ad9c8c02a530be94d98e。 png
[ o_detail] => 美しい女の子
[vote_num] => 3
)
[1] => ] => バービー
[o_pic] => /upload.jb51.net/game_image/dfxxz/dfVIP.files/shenxiandao.jpg
[o_detail] => 彼女も美人です
[vote_num] => 2
)
[ 0] => 配列
(
[o_id] => 1861
[o_name] => 2
[o_pic ] => http://g.jb51.net/image .gif
[o_detail] => 人人
[vote_num] => 1
)
)


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。