皆さんこんにちは、新米です。
今回はphpの配列について紹介していきたいと思います。

学んだ事は実際にコードを書いて覚えていきましょう!
そもそも配列とは?
配列とは1つの変数に値を複数格納するデータ構造の1種です。
わかりやすく説明すると、「変数」は1つの変数に代入できる値の数は1つだけでした。それに対して配列は1つの配列に対して複数の数値や文字列を代入する事ができます!

実際にイラストを見てみましょう!
<変数と配列の違い>
配列は複数の値を扱うために、0から始まる添え字(インデックス)というものを持っています。添え字と対応する形で0から順番にデータを代入します。また配列では値の事を要素と言います。
■配列の主な使い所は・・・
・エクセルのような複数業のデータ処理
・フォーム等の選択肢の管理(性別、成績表など)
・エクセルのような複数業のデータ処理
・座席の空席管理
・オセロのような盤面の表現(二次元配列)

なんとなく配列仕組みについて理解できましたか?では実際に配列の基本操作について学んでいきましょう。
配列の基本的な使い方!
配列の宣言
<?php //配列name $name = array("ドラえもん","のび太","しずかちゃん"); //コンパイルエラー //echo $name; //配列の中身を全て出力 print_r($name); ?>
実行結果:
(
[0] => ドラえもん
[1] => のび太
[2] => しずかちゃん
)
array()の中に予め初期化すると左から順に要素(インデックス)が自動で割り振られます。
配列の中身を全て出力する場合はprint_rを使用します。
echoだとコンパイルエラーになってしまうので注意しましょう!

print_r関数はデバック時によく使われるよ!
また配列は文字列だけではなく数値も代入する事ができます。
配列に文字列と数値を代入
<?php $name = array("ドラえもん","のび太”,100); print_r($name); ?>
実行結果:
(
[0] => ドラえもん
[1] => のび太
[2] => 100
)
変数を配列に入れて出力
値を格納した変数を代入することも可能です。
<?php //変数item $item = “どこでもドア”; $name = array("ドラえもん","のび太”,$item); print_r($name); ?>
実行結果:
(
[0] => ドラえもん
[1] => のび太
[2] => どこでもドア
)
配列から特定の要素を取り出したい場合
特定の要素を取得方法
<?php $item = “どこでもドア”; $name = array("ドラえもん","のび太”,$item); print_r($name); //配列の添え字(インデックス)を指定 echo array[1]; ?>
実行結果:
(
[0] => ドラえもん
[1] => のび太
[2] => どこでもドア
)
のび太
配列に新しく要素を追加したい場合
要素の追加方法
<?php $name = array("ドラえもん","のび太","しずかちゃん"); //新しく要素の追加 $name[] = "ジャイアン"; $name[] = "スネ夫"; print_r($name); ?>
実行結果:
(
[0] => ドラえもん
[1] => のび太
[2] => しずかちゃん
[3] => ジャイアン
[4] => スネ夫
)
このように「ジャイアン」「スネ夫」を新しく配列に追加する事が可能です。
配列のデータを上書きしたい場合
要素を上書きする方法
<?php $name = array("ドラえもん","のび太","しずかちゃん"); //要素の上書き $name[1] = "出木杉くん"; print_r($name); ?>
実行結果:
(
[0] => ドラえもん
[1] => 出木杉くん
[2] => しずかちゃん
)
上書きしたい場所を指定する事でデータが上書きされます。
この場合のび太を出木杉くんに上書かれている事がわかります。
要素を削除したい場合
要素の削除方法
要素の削除はunsetを使用します。
<?php $name = array("ドラえもん","のび太","しずかちゃん"); //要素の削除 unset($name[1]); print_r($name); ?>
実行結果:
(
[0] => ドラえもん
[2] => しずかちゃん
)
注意する点はunsetで要素を削除した場合は添え字(インデックス)は歯抜けになってしまうので気を付けましょう!
この場合「のび太」を消しても「しずかちゃん」の添え字は[1]にはなりません。
まとめ
いかがだったでしょうか。
今回、配列の基礎について学びましたが配列には連想配列や多次元配列などもあります。
まずは焦らず基礎を固めて自分のペースで学習を進めていってください。
コメント