オーダーメイドコース
icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

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

 

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、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を学んで未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

サンプルコード

<?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を使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。