ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列のソート: 単一次元から多次元までの詳細な調査
PHP には、単次元配列の並べ替え用の sort()、rsort()、asort()、arsort() などの豊富な配列並べ替え関数が用意されています。多次元配列の並べ替えには、array_multisort() を使用できます。カスタム関数。複数の列を指定して昇順または降順に並べ替えます。
#PHP 配列の並べ替え: 単一次元から多次元への詳細な探索
はじめに
配列の並べ替えはプログラミングにおいて非常に重要であり、データの整理やフィルター処理に使用できます。 PHP には、sort()、
rsort()、
asort()、
arsort()、# など、配列をソートするための関数がいくつか用意されています。 ##natsort()
、natcasesort()
など。
一次元配列のソートは非常に簡単で、次の関数を使用できます。
<?php
$products = array(
"Apple" => "iPhone",
"Samsung" => "Galaxy",
"Google" => "Pixel",
);
asort($products);
print_r($products);
出力:
Array ( [Apple] => iPhone [Google] => Pixel [Samsung] => Galaxy )Multi -次元配列のソート
多次元配列をソートする必要がある場合があります。 PHP にはこれを行うためのすぐに使用できる関数はありませんが、カスタム関数を使用して回避できます。
function array_multisort($array, $columns) { $temp = []; foreach($array as $k => $v) { $temp[$k] = []; foreach($columns as $key) { $temp[$k][$key] = $v[$key]; } } array_multisort($temp, SORT_ASC); foreach($temp as $k => $v) { foreach($columns as $key) { $array[$k][$key] = $v[$key]; } } return $array; }実践例: 製品名と製品名による多次元配列の並べ替え価格
<?php
$products = array(
array(
"name" => "iPhone",
"price" => 1000,
),
array(
"name" => "Galaxy",
"price" => 800,
),
array(
"name" => "Pixel",
"price" => 900,
),
);
array_multisort($products, ['name', 'price']);
print_r($products);
出力:
Array ( [0] => Array ( [name] => Galaxy [price] => 800 ) [1] => Array ( [name] => iPhone [price] => 1000 ) [2] => Array ( [name] => Pixel [price] => 900 ) )
以上がPHP 配列のソート: 単一次元から多次元までの詳細な調査の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。