プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

【PHP入門】PHPの配列(array)の基礎から応用までを解説

更新日:

記事の内容


この記事では、PHP言語でよく使う配列の基礎的な使い方から応用までを説明します。
簡単なサンプルも書くので、これさえ読めば配列の使い方はバッチリです!
PHPのバージョンは、7系です。

配列はどんな時に使うの?

配列とは複数のデータを扱うためのデータ型です。
そのため、実装中に、「同じようなことをしているかも?」と疑問に感じた時は、配列を使うことを検討してみましょう。
以下ような、「値を倍にするコード」を書く時を例にとって説明します。

配列を使ったコードの方が短いですし、新しい値を追加する時にも、配列に値を追加するだけで済みます。

ここがポイント!

  • 何度も同じ処理が出てきたら、配列を使うことを考えてみよう
  • 配列を使うと処理が短くなります
  • 配列を使うと、コードを変更しやすくなります

配列の書き方

では、実際に配列の書き方を見ていきます。
配列を作成する方法には、array()と、[](角括弧)の2つがあります。

配列に値を格納することで、0から順番に0,1,2という添字(そえじ)が割り振られます。
添字とは、要素番号と考えて下さい。

ここがポイント!

  • 配列は、array()か、[](角括弧)で作成できる
  • 配列に値を格納することで、0から順番に0,1,2という添字が割り振られる

配列の中身の見方(print_r、var_dump、foreach)

配列の中身を見る方法は、いくつかあります。
ここでは、print_r、var_dump、foreachを使った方法で説明します。
var_dumpを使うと、より詳細な情報である配列の要素数と中身の型を表示してくれます。

配列に要素を追加(array_push、array_unshift)

配列の先頭と末尾に値を追加する方法です。
[]、array_push、array_unshiftを使う方法を紹介します。

配列の最初から要素を取り出す(array_popとarray_shift)

配列の先頭と末尾から値を取り出す方法です。
array_popとarray_shiftを使う方法を紹介します。

連想配列とは?

連想配列は、値を格納して自動的に添字の番号(0, 1, 2)が割り振られる配列とは異なります。
その代わりに、番号ではなくキーとなる名前をつけることができます。
番号の代わりにキーとなる名前をつけることにより、そのキーを指定して値を取り出すことができます。

連想配列の書き方

連想配列の中身の見方

連想配列の値を変更したり要素を追加する

多次元配列とは?

多次元配列とは、配列の中にさらに複数の配列が入っているものです。

多次元配列の書き方

多次元配列の中身の見方

多次元配列の中身もprint_rやvar_dumpで見ることができます。
もしくは、foreachを2回まわして、echoで見ることもできます。

応用編

配列の値を検索(array_search, in_array, array_column)

array_search, in_array

array_searchは配列のvalueで検索して、値が存在したらそのkeyを返します。
in_arrayは配列のvalueで検索して、値が存在したらそのtrue or falseを返します。

array_column

array_columnは多次元配列のkeyを検索して、新たに配列を作成することができます。

配列を結合

array_merge

array_mergeは、配列を結合することができます。
array_mergeのでは、連想配列のkeyが同じだった場合は、一方に上書きされます。

array_merge_recursive

array_merge_recursiveの場合、連想配列のkeyが同じだった場合は、上書きせずに1つのkeyに対して2つのvalueを入れます。

配列の値を置換(array_replace)

array_replaceに渡した配列で、元の配列の中身を上書きすることができます。

配列の値を並び替える(asort, arsort, ksort, krsort, asort, krsort)

asort, arsort

sortは、配列を昇順(小さい順)に並び替えます。
arsortは、配列を降順(大きい順)に並び替えます。

ksort, krsort

sortは、連想配列のkeyを昇順(小さい順)にを並び替えます。
sortは、連想配列のkeyを降順(大きい順)にを並び替えます。

数字だけではなく、アルファベットも並び替えることができます。

配列の値をフィルタリング(array_filter)

array_filterは、自分で定義した関数を渡すことで、フィルタリングしたい条件で配列から値を取得することができます。

配列の要素に特定の処理を行う(array_map)

array_mapは、自分で定義した関数を渡すことで、自分が行いたい操作を配列に行うことができます。
例えば、「配列の値を全て2倍にしたい」ということができます。
再帰的にarray_mapを使用することもできます。

まとめ

この記事では、PHPの配列に関係する様々なことを説明しました。
PHPには、配列を扱う様々な便利な関数があるので、できるだけ覚えておきましょう。

Good luck for your engineer life!

Rubyの勉強を始めたい人は、この記事を読んで下さい

Rubyの学習でオススメの本【2019年最新】

 

PHPをより詳しく勉強したい人は、この記事を読んで下さい

PHPの学習でオススメの本と動画【2020年最新】

初心者向け【入門編】 いちばんやさしい PHP の教本 「いちばんやさしいシリーズ」のPHP版です。 とりあえず、PHPをさわって動かしてみたいという人には、オススメの本です。 WordPress 仕事の現場でサッと使える! PHPの勉強で ...

続きを見る


30代からプログラミングを始めようか迷っている人は、この記事を読んで下さい

30代からプログラミングを始めることは可能なのか?【頑張ればギリギリセーフ】

エンジニアは人気の職種だと聞いていますが、若い人達が多い印象です。 30代から始めても間にあいますか? 2030年には79万人のエンジニアが不足 まずは、今後、10年間以上に渡るエンジニアの需給について確認しましょう。 自分の身を預けたいと ...

続きを見る


プログラミングスクールに行くか迷っている人は、この記事を読んで下さい

なんとなく、エンジニアになりたい人が無料のプログラミングスクールに行くべき理由【2019年12月の最新】

有料や無料のプログラミングスクールが多すぎて、どこにしようか迷っています。 無料のプログラミングスクールは、お得そうに見えますが、実際の所はどうですか? メリットやデメリットなどがあれば教えて下さい。 無料のスクールを推す理由 まずは、私が ...

続きを見る


自分がプログラミングスクールに行っても大丈夫か知りたい人は、この記事を読んで下さい

プログラミングスクールに通って挫折する人と上手くいく人の違い

スクールに通っている人の3パターン プログラミングスクールに通っている人のパターンを整理すると、以下の3パターンに分かれます。 それぞれのタイプの特徴を、もう少し詳細に説明していきます。 それぞれのタイプの特徴 大した努力をせずに文句ばかり ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-PHP, プログラミング

Copyright© プログラミング道場 , 2020 All Rights Reserved Powered by AFFINGER4.