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

プログラミング道場

私がおすすめするプログラミング教材のまとめ【書籍と動画】

プログラミング言語 スクリプト言語 コンパイル言語 アプリ開発 サーバー、インフラ、セキュリティなど 機械学習系 ゲーム開発 データベース 子供向け デザイン その他 おまけ まとめ この記事では、様々な書籍を紹介しました。 是非、自分に合 ...

続きを見る

【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 仕事の現場でサッと使える! デザ ...

続きを見る


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

WordPressの学習でおすすめの本と動画【2020年最新】

初心者向け いちばんやさしいWordPressの教本 第4版 5.x対応 これからワードプレスを始める初心者にオススメの本です。 手早くサイトを作りたい人は、この本を買いましょう^^ 非常にわかりやすいです。 WordPress標準デザイン ...

続きを見る


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

Rubyの学習でおすすめの本と動画【2020年最新】

初心者向け【入門編】 スラスラ読める Rubyふりがなプログラミング ふりがなプログラミングシリーズのRuby版です。 文句なしに、やさしい内容なので、これからプログラミングを始めてみようという人は、この本から始めると良いかもしれません。 ...

続きを見る


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

Javaの学習でおすすめの本と動画【2020年最新】

初心者向け スッキリわかるJava入門 第3版 発売から8年であっという間に総計40万部到達した大人気シリーズの原点です。 Javaの入門書の定番で、わかりやすいことで評判です。 個人的には、「初心者を飽きさせない工夫」が素晴らしいと思いま ...

続きを見る


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

Gitの学習でおすすめの本と動画【2020年最新】

漫画?でわかりやすく学ぶ入門書の定番 わかばちゃんと学ぶGit使い方入門 Gitの入門書の定番と言っても差し支えありません。 絵や図で解説している本なので、わかりやすく頭に入ってきます。 初心者向け Gitが、おもしろいほどわかる基本の使い ...

続きを見る


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

Perlの学習でおすすめの本と動画【2020年最新】

初心者向け Perlではじめる プログラミング超入門 プログラミングの未経験者にもオススメできます。 Perlのインストール方法から基礎的な構文まで、丁寧に解説されています。 最後の方には、簡単なゲームも作ります。 かんたん Perl Pe ...

続きを見る


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

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

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

続きを見る


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

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

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

続きを見る

関連コンテンツ

-PHP, プログラミング

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