おはようございます!
ゆうです。
今回はPHPの配列で特に知っていることを
初心者向けに簡単にまとめてみました。
参考になれば幸いです。
初期化
空の配列を初期化する時は
$data = array();
とします。PHPに慣れていると
当たり前に思えるかもしれませんが、C言語では
int data[10];
という風に最初にデータ型とサイズを
指定しなければいけませんでした。
サイズを可変にする時はポインタを使って
宣言して、後でmallocで必要な領域分だけ
確保することもできますが、
後でfreeしなければいけなかったり、
色々と扱いに苦労する点も多々ありました。
そう。面倒なんですね。
しかし、PHPではその必要もありません。
値を入れて初期化する時は
$data = array(2, 3, 5);
のようにします。
なお、PHP5.4からは
$data = []; $data = [2, 3, 5];
のようなやり方での初期化もできるようになりました。
要素の追加
$data[3] = 7;
のような普通のやり方ももちろんできますが、
現時点での要素数が分からなくても
$data[] = 7;
みたいに簡単に要素を追加することもできます。
array_pushという関数を使って
array_push($data, 7);
みたいにも書くことができます。
要素の削除
こちらはarray_spliceという関数を使います。
$data = [2, 3, 5, 7]; array_splice($data, 1, 2);
とすると$data[1]から
2つ要素が削除されます。
上の処理を行った結果は
echo $data[0]; //2 echo $data[1]; //7
となります。
配列の要素を削除する関数は
他にもunsetというのがあります。
例えばdata[1]を配列data[1]を
配列dataから取り除きたい時は
$data = [2, 3, 5, 7]; unset($data[1]);
とします。
ただしこちらはインデックスには
作用しないので結果は
echo $data[0]; //2 echo $data[2]; //5 echo $data[3]; //7
です。インデックス1が抜けたところは
そのままになるので
$data[1]にアクセスすると
エラーになります。
インデックスをちゃんとした
並び順にする時はunsetの後に
array_values($data);
とする必要があります。
連想配列
PHPでは配列の要素に
整数以外を入れることもできます。
つまり、連想配列とほぼ変わらない
使い方ができます。
例えば、こんな感じです。
$data['Tokyo'] = 'Japan'; $data['Vientiane'] = 'Laos'; $data['Manila'] = 'Philippines';
のようなこともできます。
他にも配列の値を配列にして
多次元配列みたいにすることもできます。
配列用関数
これまででいくつか出てきていますが、
PHPには配列操作のために用意された
便利な関数がたくさんあります。
例えば、
$data = [2, 3, 5, 7]; echo count($data); //4
というように配列の要素数を返す関数が代表例です。
また、ある要素が配列に含まれているか
調べるin_arrayという関数もあります。
$data = [2, 3, 5, 7]; echo in_array(3, $data); //true echo in_array(4, $data); //false
他にもたくさんあるので、
どんなものがあるのか知りたい方は
を見ていただければと思います。
(いわゆるドキュメントってやつです)
ーーーーーーーーーーーーーーーーーーーーーーーーーー
プログラミングの相談にのっております。
- どう勉強していいかわからない
- IT業界って実際どうなの?
- プログラミングできるようになりたい!
という方。気軽に連絡してください!
またメルマガの配信も行なっております。
- どうやって勉強したらいいのかわからない
- プログラミング未経験なんだけど、どうしたらいいの?
- 専門用語も何もわからない
- 上司に怒られてばかりの今の状況を打破したい
という方はどうぞ。




