PHPのarray_multisortメソッドの使い方を現役エンジニアが解説【初心者向け】

初心者向けにPHPのarray_multisortメソッドの使い方について解説しています。array_multisortは多次元配列などを順序通りに並べ替える関数になります。オプションを指定しなければ昇順でソートされます。組み込みの関数を使ったほうが簡単に書くことが出来ます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、PHPのarray_multisortメソッドの使い方について解説します。

 

なお本記事は、TechAcademyのPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPのarray_multisortメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

PHPのarray_multisortメソッドとは

PHPのarray_multisortメソッドとは、複数の配列や、多次元の配列をソートする処理を行うことができる関数です。

配列とは、変数の中にいくつも箱を用意して、1つの変数を利用して、複数の値を格納することができるようにしたものです。変数とは、値を入れる箱のようなものです。

多次元配列とは、配列を複数列利用した配列です。一般的に配列は、変数内に1列に並んだ複数の箱の様なものを用意して利用します。多次元配列の場合は、配列を縦と横に配置することで、配列自体が四角い立方体を構成するような複雑な構造になります。

複雑な構造になるということは、それだけ値をたくさん、複雑化した指定方法で、格納することができるということになります。ソートとは、並び替えるという意味です。

array_multisortメソッドは、PHP4、PHP5、PHP7で利用可能です。

array_multisortメソッドについて

array_multisortメソッドの使い方

基本の書き方

array_multisort (ソートする配列,配列のソート方法,ソート順)

 

解説

array_multisort()のカッコ内の引数に、ソートする配列を指定することで、ソートが可能になります。

引数とは、関数を利用する際に指定する値です。引数を変化させることで、柔軟に関数を操作することが可能です。

配列のソート方法を指定しない場合は、アイテムの型を変更せずに、比較します。配列のソート順を指定しない場合は、昇順にソートします。

ソート方法とソート順の記載位置は前後してもかまいません。

 

配列のソート方法では次の値を指定可能です。

SORT_REGULAR を指定すると、アイテムを通常通り比較することが可能です。
SORT_NUMERIC を指定すると、アイテムを数値として比較することが可能です。
SORT_STRING を指定すると、アイテムを文字列として比較することが可能です。
SORT_LOCALE_STRING を指定すると、現在の位置を考慮して、アイテムを文字列として比較します。setlocale()を利用することで、現在の位置を変更することも可能です。
SORT_NATURAL を指定すると、自然順で、アイテムを文字列として比較することが可能です。自然順とは、natsort()を利用したときのような、間が行うような手法でアルファベットまたは数字の文字列の順番を キー/値の関係を保持したままの順番を意味します。
SORT_FLAG_CASE を指定すると、SORT_STRING()関数やSORT_NATURAL()関数を組み合わせて利用することで、 大文字小文字を区別しない文字列のソートを指定することが可能です。

 

配列のソート順では次の値を指定可能です。

SORT_ASCを指定すると、アイテムを昇順にソートできます。
SORT_DESCを指定すると、アイテムを降順にソートできます。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

サンプルコード

<?php
  $ar1 = array(10, 100, 100, 0);
  array_multisort($ar1);
  var_dump($ar1);
?>

 

表示結果

array(4) {
 [0]=>
 int(0)
 [1]=>
 int(10)
 [2]=>
 int(100)
 [3]=>
 int(100)
}

 

解説

(10, 100, 100, 0)の順番で用意した配列の中身が、(0, 10, 100, 100)の順番でソートされたことが表示結果にあらわれています。

 

今回は、PHPのarray_multisortメソッドの使い方について解説しました。

 

筆者プロフィール

中本賢吾(なかもとけんご)

アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。

地域の職業プログラマー育成活動では、小学生がオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

PHPやフレームワークのLaravelを使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。