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

プログラミング道場

私がオススメするプログラミング教材です

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

目次1 これからエンジニアになりたい人へ向けた本2 プログラミング言語3 アプリ開発4 サーバー、インフラ、セキュリティなど5 機械学習系6 ゲーム開発7 データベース8 デザイン9 組織作り10 自作シリーズ11 その他12 おまけ これ ...

続きを見る

【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の学習でおすすめの本と動画【2024年最新】

▼ Laravelについてはこの記事で、バージョンごとに紹介しています 目次1 動画教材2 初心者向け【入門編】3 中級者向け 動画教材 【PHP入門】2ちゃんねる掲示板クローンを作りながらPHPとMySQLの基礎と本質をマスターするPHP ...

続きを見る


Laravelをより詳しく勉強したい人には、この記事がオススメです

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

目次1 動画教材2 Laravel63 Laravel84 Laravel9 動画教材 【Laravel】【Vue.js3】で【CRM(顧客管理システム)】をつくってみよう ▼ 興味がある方は、画像をクリック 受講者向けアンケートでご要望の ...

続きを見る


WordPressをより詳しく勉強したい人には、この記事がオススメです

WordPressの学習でおすすめの本【2023年最新】

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

続きを見る


Rubyをより詳しく勉強したい人には、この記事がオススメです

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

▼ Ruby on Railsについては、この記事で紹介しています 目次1 動画教材2 初心者向け【入門編】3 中級者向け4 上級者向け 動画教材 "ちゃんと" Ruby を学ぼう! ー オブジェクト指向機能ってなんだ? ▼ 興味がある方は ...

続きを見る


Javaをより詳しく勉強したい人には、この記事がオススメです

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

▼ Spring Bootの勉強をしたい人には、この記事がおすすめです 目次1 動画教材2 初心者向け3 中級者向け 動画教材 動画でわかる Java入門講座 基本~オブジェクト編 ▼ 興味がある方は、画像をクリックして下さい 「初心者向け ...

続きを見る


Gitをより詳しく勉強したい人には、この記事がオススメです

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

目次1 動画教材2 漫画?でわかりやすく学ぶ入門書の定番3 初心者向け4 中級者向け5 上級者向け 動画教材 もう怖くないGit!チーム開発で必要なGitを完全マスター ▼ 興味がある方は、画像をクリック Gitの基本コマンド、ブランチやマ ...

続きを見る


Perlをより詳しく勉強したい人には、この記事がオススメです

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

目次1 動画教材2 初心者向け3 中級者向け 動画教材 Learn Perl 5 By Doing It ▼ 興味がある方は、画像をクリック 英語版です。 Webスクレイピングからデータの修正まで、実際に使えるPerlプログラムを作成しなが ...

続きを見る


ゼロからWebエンジニアになりたい人には、この記事がオススメです

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

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 目次1 私が定義するWebエンジニア2 必ずやるべきこと3 推奨されること4 まとめ 私が定義するWebエ ...

続きを見る


独学で実務っぽい経験を積みたい人には、この記事がオススメです

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

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? 目次1 スクールの理想と現実2 IT業界が抱える矛盾点3 擬似的に実 ...

続きを見る

-PHP, プログラミング

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