【初心者】配列とは?プログラミング初心者が悩む配列について解説【プログラミング初心者の入門講座】

2020年3月23日システムプログラミング初心者

【初心者】配列とは?プログラミング初心者が悩む配列について解説【プログラミング初心者の入門講座】
【初心者】配列とは?プログラミング初心者が悩む配列について解説【プログラミング初心者の入門講座】

どうも、UT(@ut_1029)です。

変数を使ってプログラミング出来るようになると、次に配列について理解する必要があります。配列を使うことでプログラミング技術が飛躍的にアップします。

配列を理解するための配列の入門講座を行います。

プログラミング初心者が配列で悩むこと

  • 配列って何?どうやって使うの?配列って何者?
  • 配列の要素とか添字って何?
  • 2次元配列?多次元配列?むずかしそう。。。
  • 連想配列?2次元配列となにが違うの?

配列を勉強する前に、変数について理解しておく必要があります。変数については「変数とは?プログラミング初心者が悩む変数について解説」で解説しているので、ぜひご覧ください。

配列とは?プログラミング初心者が悩む配列について解説

配列の入門講座

配列プログラミングにおいて基本でありとても重要な技術です。それでは配列について解説します。

配列(array)とは

配列とは、複数のデータを格納することが出来るデータ構造です。また配列は英語で"array(アレイ)"と呼びます。

配列とは

  • たくさんのデータを入れる(代入する)ことができるもの
  • 複数の変数を入れておくことができるもの

配列プログラミングコードで利用するには、英語のarrayと記述したりします。

配列のイメージはタンス

前回に変数は箱だと紹介しました。配列変数の箱をたくさん入れることが出来るタンスをイメージすると理解しやすいです。

添字(インデックス)とは

配列添字(インデックス)をタンスで例えて解説します。添字は「タンスの何段目の引き出し」です。

要素

配列要素をタンスで例えて解説します。要素は「タンスの引き出しに入っている中身」です。

ここまでの配列のまとめ

  • 配列とは
    • 変数(箱)をたくさん入れるタンス
  • 添字(インデックス)とは
    • タンスの引き出しの段数
  • 要素とは
    • タンスの引き出しに入っている中身

配列の使い方

配列の使い方
配列の使い方

配列について解説しました。次は実際に配列を使ったプログラミングを解説します。

配列を使ったプログラミングコード

ここでは、配列を使った簡単なプログラミングコードJavaScriptPHPで解説します。

配列を定義

プログラミング配列定義します。

<script>
var members = [];
</script>
<?php
$members = [];
?>
配列メモ

こういった何もデータが入っていない変数配列定義/宣言/代入することを初期化と言ったりします。

配列へ要素を追加

プログラミング配列要素を追加します。

<script>
var members = [];
    members[0] = '山田';
    members[1] = '佐藤';
    members[2] = '鈴木';
</script>
<?php
$members = [];
$members[0] = '山田';
$members[1] = '佐藤';
$members[2] = '鈴木';
?>
  • タンスの0段目:山田
  • タンスの1段目:佐藤
  • タンスの2段目:鈴木
配列メモ

配列の添字は、基本的に0番目から開始されます。プログラミングを始めたばかりの頃は戸惑いますが、慣れておきましょう!

配列の添字を指定して要素を取得

プログラミング配列の添字を指定して、配列の要素を取得します。

<script>
var members = [];
    members[0] = '山田';
    members[1] = '佐藤';
    members[2] = '鈴木';
console.log(members[0]);
console.log(members[1]);
console.log(members[2]);
</script>
<?php
$members = [];
$members[0] = '山田';
$members[1] = '佐藤';
$members[2] = '鈴木';
echo $members[0];
echo $members[1];
echo $members[2];
?>

配列の要素数ループ

プログラミング配列要素数ループを行います。ここでの配列要素数は、"0と1と2″で3つとなります。

<script>
var members = [];
    members[0] = '山田';
    members[1] = '佐藤';
    members[2] = '鈴木';
var member_count = members.length;
for (var i = 0; i<=member_count - 1; i++) {
    console.log(members[i]);
}
</script>
<?php
$members = [];
$members[0] = '山田';
$members[1] = '佐藤';
$members[2] = '鈴木';
$member_count = count($members);
for ($i=0; $i<=$member_count - 1; $i++) {
    echo $members[$i];
}
?>
配列メモ

配列の要素に合わせてループを行うプログラミングは、すごく使います。

変数名“i"の意味については「変数とは?プログラミング初心者が悩む変数について解説」をご覧ください。

配列の種類

配列の種類
配列の種類

プログラミング配列にはいくつか種類があります。よく利用する「2次元配列/多次元配列」と「連想配列」について解説します。

2次元配列/多次元配列とは

2次元配列/多次元配列とは、配列の中に配列があるデータ構造の配列です。

タンスでいうと、タンスの引き出しの中に小物入れがあるイメージです。さらにその小物入れに変数が入っている感じです。

連想配列(ハッシュ)とは

連想配列とは、配列添字の代わりにキーを使用する配列です。

これまで配列は、配列の0番目に’山田’を代入していました。連想配列では、0のような連番ではなく、’name’や’last_name’などのキー名を指定することが出来ます。

<?php
// 配列
$member[0] = '山田';
// 連想配列
$member['last_name'] = '山田';
?>

直感的に分かりやすいですよね?なので、連想配列は、プログラミングでよく利用されます。

2次元配列/連想配列のプログラミングコード

2次元配列/連想配列を例にしたプログラミングコードを紹介します。

<script>
var members = [];
    members[0] = [];
    members[0]['first_name'] = '太郎';
    members[0]['last_name']  = '山田';
    members[1] = [];
    members[1]['first_name'] = '花子';
    members[1]['last_name']  = '鈴木';
</script>
<?php
$members = [];
$members[0] = ['first_name' => '太郎', 'last_name' => '山田'];
$members[1] = ['first_name' => '花子', 'last_name' => '鈴木'];
?>
  • タンスの0段目
    • first_name箱:太郎
    • last_name箱:山田
  • タンスの1段目
    • first_name箱:花子
    • last_name箱:佐藤
配列メモ

連想配列は、添字の代わりにキー名を指定することが出来る。

おわり

【初心者】配列とは?プログラミング初心者が悩む配列について解説【プログラミング初心者の入門講座】
【初心者】配列とは?プログラミング初心者が悩む配列について解説【プログラミング初心者の入門講座】

プログラミングにおいて配列は、基本ながらとても重要な技術です。ぜひ配列を使いこなしプログラミングのスキルアップを目指しましょう!

配列のポイント

  • 配列は、タンスをイメージすると理解しやすくなる
  • 配列の添字は、0から始まる
  • 2次元配列は、タンスの引き出しにある小物入れ。その中に変数(箱)が入っているイメージ
  • 連想配列は、添字の代わりにキー名で指定することが出来る
プログラミング解説講座

UT
UTの日常

当ブログ(UTの日常)を運営しているUTは「プログラミング関係の仕事をしている30代1児の父親」です。詳しくは「UTのプロフィール」をご覧ください。

UTの日常では、システム開発における LinuxPHPJavaScriptJQueryMySQLなどの知識やプログラミング技術、サーバ構築や運用などAWSをメインに知識を紹介しています。

内容としては、Webシステムの開発中や運用中に発生したトラブルやエラーの対応や解決方法をまとめた備忘録やWebシステム開発の方法を未経験者の人を対象に説明したプログラム教科書を記事にしています。
Webシステム開発の知識やプログラム技術の備忘録

2020年3月23日システムプログラミング初心者

Posted by UT