php 連想配列を値で逆順にソートする
phpで、arsortを使用して、連想配列を値で逆順にソートするサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
arsort使い方
arsortを使用すれば、連連想配列を値で逆順にソートすることが可能です。
$result = arsort(配列);
// 戻り値は成功すれば true 失敗すれば falseが返る
以下は、連想配列を値で逆順にソートするサンプルコードとなります。
<?php
$arr = ["a" => 2, "b" => 1, "c" => 3];
$result = arsort($arr);
var_dump($result); // bool(true)
print_r($arr);
実行結果
Array
(
[c] => 3
[a] => 2
[b] => 1
)
また、第二引数には、様々なオプションがあります。
- SORT_REGULAR : 型変換行わずに比較する。
- SORT_NUMERIC : 数値として比較する。
- SORT_STRING : 文字列として比較する。
- SORT_LOCALE_STRING : ロケール基づいて比較する。
- SORT_NATURAL : 人間が認識しやすい形で比較する。
- SORT_FLAG_CASE : 大文字、小文字を区別せずに比較する。
例えば「SORT_NATURAL」を指定すると、以下の指定していないコードの
<?php
$arr = ["a" => "a1", "b" => "a20", "c" => "a3"];
$result = arsort($arr);
var_dump($result); // bool(true)
print_r($arr);
実行結果は以下となりますが、
Array
(
[c] => a3
[b] => a20
[a] => a1
)
指定すると、
<?php
$arr = ["a" => "a1", "b" => "a20", "c" => "a3"];
$result = arsort($arr,SORT_NATURAL);
var_dump($result); // bool(true)
print_r($arr);
認識しやすい実行結果となります。
Array
(
[b] => a20
[c] => a3
[a] => a1
)
-
前の記事
Ruby 文字のUnicodeコードポイントを取得する 2021.09.19
-
次の記事
jquery 指定した要素と同じ階層の兄弟要素を範囲を指定して変更する 2021.09.19
コメントを書く