*

データを扱ってみよう その2(配列)

公開日: : 最終更新日:2015/05/21 PHP, 講義

こんばんは松本です。

少しずつ暖かくなってきましたね。暖かいのはいいんですが、オフィスでブログを書いているときに蚊にさされることがありました。蚊はとっても嫌いです(涙)

今回と次回は配列というものを扱います。これをうまく扱えるようになっておきましょう。

この配列の操作なんですがPHPに限らずプログラムにおいては超大事です。どれくらい大事かというとアイドルにとってかわいいことが大事ぐらい、プログラマにとって配列の操作は大事です(笑)

配列の操作のできないプログラマはかわいくないアイドルや体力のないマラソンランナーみたいなものです。それアイドルじゃないじゃん!とかそれじゃマラソンランナーって言わないでしょ!という声が上がると思います。

まぁ、最近はかわいくなくても人気のあるアイドルもいるようですが、話がややこしくなるので無視します(爆)

かわいくないアイドルは存在しても配列の操作ができないプログラマというのは世の中に存在しないと思います。それぐらい重要だと思ってください。

プログラムの学習も超重要ポイントがありまして、大きく分けると

  • 配列の操作
  • オブジェクト指向

の2つになるかと思います。

後半のオブジェクト指向はおいおい説明します。

配列とは?

散々脅しておいたあとで説明に入らせてもらいます。

簡単に言うと配列とは複数のデータを入れておく棚のようなものです。

前回の変数は1つのデータを入れておくことでした。

たとえば$name=”gachinko”となっていた場合、$nameという変数にgachinkoという文字が入ります。

ただ、当然入れたいデータが複数の時もあります。たとえば同じようなタイプのデータを並べるときですね。apple,orange,bananaなど3つの果物を使いたいときです。

これも

などとやってもよいのですが、もっとスマートに3つの文字列を1つに扱えるのが配列です。

配列の書き方

配列で3つの文字を扱うときは以下のように書きます。

これは$kudamonoという配列に”apple”,”orange”,”banana”という3つのデータが入っており、区切られています。arrayという文字が出てきたと思いますが、これが配列を意味しています。

と書いてもエラーになりますので、arrayを忘れないようにしましょう。

配列の値の指定の仕方

配列に入れたがいいが、個別の値(たとえばappleなど)を画面表示したいときはどうすればいいでしょうか?

配列にはデータを入れた時点で番号が振られています。その番号で識別すればOKです。前から順に0からふられていきます。1ではないことに気を付けましょう。

たとえば一番最初にいれたappleを表示したいときは

と記述してあげればappleと表示されます。

orange,bananaを表示したいときはそれぞれ以下のように書いてあげればOKです。

ちなみに3つしか入れていませんので、$kudamono[3]とやるとエラーが出ますので注意しましょう。

値の追加、変更

配列は一度定義してから値を個別に変更することも可能です。

たとえばappleをgrapeにしたい場合、appleは$kudamono[0]ですので、以下のように変更することが可能です。

 

また追加したい場合は番号を指定してあげることで簡単に追加できます。

appleを消さずにgrapeを4つめの果物に指定する場合は

としてあげればOKです。(本当はもっと実践的な方法がありますが、とりあえずはこの方法で覚えておきましょう。)

値にラベルを付たい ~連想配列~

前回のように似たような果物を入れる場合は、単純にデータを入れてあげればOKなのですが、中には入れた値を区別したいときもあると思います。

たとえば
名前 yamada tarou
身長  175
年齢 25
体重 55
というデータを配列に入れたいとき、

$person = array(“yamada tarou”,175,25,55);と書いてしまうと後で見返した時に4つのデータがなんなのか見分けがつきません。

4つだったらまだしも20個とか出てきた場合、ほしいデータが15番目なのか16番目なのかをいちいち数えなくてはいけなくなります。

その場合、このデータは身長とかこれは年齢みたいに”ラベル”みたいなものを貼っておいたほうがわかりやすいですよね。

実はこれが可能です。下記のようにラベルをつけた配列を書くことが可能です。

すべて ラベル⇒値 となっています。

このようにラベルを付けておけば後で見返した時に何のデータかわかりますよね!

ちなみに↑のように書いてもエラーはでませんが、データが増えたときに横にずらずら書かれるとみにくいので↓のようにたてにかくことが望ましいです。(プログラムを書いてて見やすいのはとっても大切です。)

ちなみにラベルというのはたとえで使いましたが、通常はキーとか添字といいます。またこのようなラベルがついた配列のことを連想配列といいます。

個別の値の表示

$personの年齢(age)だけを表示したい場合、先ほどの普通の配列と同様、

とかけばOKです。[]とか{}は使い方を間違えることが多いので気を付けましょう。

連想配列の値の追加、変更

先ほどの連想配列ですが、これも値の追加や変更が可能です。

たとえばyamada tarouの趣味(hobby)が野球(baseball)だった場合、

などとかけば連想配列に追加されます。

また変更も可能です。yamada tarouの年齢(age)を30にしたい場合、

と書いてあげれば変更されています。

これで前半の配列の授業は終わりです。

「え、これだけ?」「全然難しくないじゃん・・」と思った方もいるかもしれませんね。配列の操作が簡単にみえるのは私が初心者用に思いっきりレベルを下げているからです。

配列はもう1回、授業がありますが、難易度をさげてますので次回の授業内容をよんでもそれほど難しくはないと思います。

ただ実践で配列の操作をしますと、ドラゴンボールの敵キャラのように一気に難易度があがりますのでご心配なく(笑)

 

 

関連記事

プログラミング学習法「写経」について

本日は本ブログのメインテーマであるプログラミング学習について考えてみたいと思います。 今までプ

記事を読む

PHPで掲示板を作ろう! 掲示板の作成方法 まとめ

さて4回にわけて、掲示板のプログラムを学習してきました。 見た目は超シンプルで実際に動かしてみ

記事を読む

プログラミングの基本ルール

ガチンコ松本です。 さて、準備が整ったところでさっそくPHPのコードを書いていきましょう!

記事を読む

初心者でもできる!作れる!WEBサービスの開発 その1 準備編

前回までは掲示板作成をテーマにPHPの基本的な学習内容について書いてきました。 今回は題材にあ

記事を読む

勘違いしてはいけない未経験ややる気という言葉

かなり久しぶりの投稿になってしまいました・・・ 以前ダイエットに成功し、2年以上かけて10kg

記事を読む

未経験者がWEBエンジニアとして就職する前に身につけておいたほうがよいスキル一覧

夕方、用事から帰ってきてから寝てしまったので寝れなくなっている松本です。 寝れないので今日はも

記事を読む

ゼロからWEBプログラミング(PHP)をマスターするのに何時間かかる?

おはようございます。松本です。 さて、本日のテーマはタイトルのとおりです。以前受講生の方に「ゼ

記事を読む

エラーメッセージで挫折

もうエラーメッセージで挫折しない! 4つのエラーメッセージ対処法

このブログで何回か書いたのですが、PHPに限らずプログラミングの独学はかなり難しいです。 その

記事を読む

バグをゼロに近づけるテスト手法とは?

私は去年のはじめまではPHP、去年の春~年末はJavaScript、今年からはJavaを触っています

記事を読む

「初級」〜「中級」のPHPエンジニアのスキルについてまとめてみる(DB編)

本日はデータベース系の必要な技術について。 ウェブエンジニアといっても技術領域が非常に広いので

記事を読む

Comment

  1. […] かわいくないアイドルや体力のないアスリートのようなもの。  www.dt30.netデータを扱ってみよう その2(配列) | ガチンコPHP塾http://www.…  www.dt30.netデータを扱ってみよう その3(多次元配列) | […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

無料PHPスクール
自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

エンジニアを採用する上で大事なこと

本日はエンジニアの採用について書きたいと思います。最近少し採用に絡んだ

エンジニアが給料を上げる方法を真面目に考えて見ました。

本日はエンジニアと給料の話題について触れて行こうと思います。 エ

エンジニアの「スキル」とはなんぞや

給与が低いことに悩んでるエンジニアへのアドバイスをツイートで見たところ

→もっと見る

  • follow us in feedly
PAGE TOP ↑