ホームページ >バックエンド開発 >PHPチュートリアル >キーサイズに基づいて配列を並べ替える方法

キーサイズに基づいて配列を並べ替える方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-24 17:58:331907ブラウズ

今回は、配列のキー値のサイズに応じてソートする方法と、配列のキー値のサイズに応じてソートする際の注意点について説明します。以下は実際的なケースですので、見てみましょう。

この記事の例では、PHP が配列内の特定のキー値のサイズに基づいて並べ替えを実装する方法を説明します。参考として、次のように全員と共有してください:

問題: 指定された配列内のキーのキー値を並べ替える

解決策:

//$a是排序数组,$b是要排序的数据集合,$result是最终结果
$b = array(
  array('name'=>'北京','nums'=>'200'),
  array('name'=>'上海','nums'=>'80'),
  array('name'=>'广州','nums'=>'150'),
  array('name'=>'深圳','nums'=>'70')
  );
$a = array();
foreach($b as $key=>$val){
  $a[] = $val['nums'];//这里要注意$val['nums']不能为空,不然后面会出问题
}
//$a先排序
rsort($a);
$a = array_flip($a);
$result = array();
foreach($b as $k=>$v){
  $temp1 = $v['nums'];
  $temp2 = $a[$temp1];
  $result[$temp2] = $v;
}
//这里还要把$result进行排序,健的位置不对
ksort($result);
//然后就是你想看到的结果了
var_dump($result);

実行結果:

array(4) {
 [0]=>
 array(2) {
  ["name"]=>
  string(4) "北京"
  ["nums"]=>
  string(3) "200"
 }
 [1]=>
 array(2) {
  ["name"]=>
  string(4) "广州"
  ["nums"]=>
  string(3) "150"
 }
 [2]=>
 array(2) {
  ["name"]=>
  string(4) "上海"
  ["nums"]=>
  string(2) "80"
 }
 [3]=>
 array(2) {
  ["name"]=>
  string(4) "深圳"
  ["nums"]=>
  string(2) "70"
 }
}

この記事の事例を読んだ後は、その方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

PHP はルーティングとクラスの自動ロードを実装します

Yii2 でのbindParam と bindingValue の使用の詳細な説明

以上がキーサイズに基づいて配列を並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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