PHPの配列

ブログの更新頻度が低いままなのもアレなんで、今日からなるべく毎日少しでもブログに何か書いてみることにする。
旅行とか、特にネタがないときはぱっと思いついた技術ネタを少しづつ。更新にかける時間は1日15分くらいを目安に無理のない範囲で。

目指せ、毎日更新シリーズ第1弾は、PHPの配列について。

PHPは初めて教わったのが去年のセブ島なのは今までにも書いたとおりだけど、配列とかの扱いがC言語とかに比べてすっごい便利だと感じた(もちろんC言語にはC言語の良さがあるんだけど)。
まず、C言語だと最初に

int data[10];

みたいに領域を確保するか、あるいは領域を固定させたくない場合は

int* data;

のようにポインタを使うしかなかった。
それが、PHPでは

data = [1, 3, 5];

と初期化された状態から

data[3] = 10;

と領域を確保しなくても配列に値を追加できるし、もっと簡単に

data[] = 10;

とかすることもできる。
C++だとVectorをつかって

vector<int> data;
data.push(10);

とかもできるけど(Vectorも初めて使ったときはすごい便利だと思ったものだ)、PHPの簡素さには及ばないか。

他にも、

data["Tokyo"] = "Japan";
data["Vientiane"] = "Laos";
data["Manila"] = "Philippines";

とか特に宣言しなくても要素に整数以外の値を入れて連想配列みたいに使うことができるっていうか、普通の配列と連想配列の区別がない。
いわば、C++のVectorとmapのいいとこ取りという感じか。C++だったら演算子定義とかもできるからそれを使えば自分で似たようなものを作ろうと思えば作れるんだろうけど(そもそもPHP自体Cで書かれてるからそうやって作ったんだと思うけど)。

他にも、便利な関数もたくさんあって、とにかくいろんなことが簡単にできるというのが新鮮だった。
とはいえ、便利で自由な分自分が今何をやっているかを常に気を付けておく必要があるのだが。

PHPの配列は結構奥が深かったりするので、また時間があるときにもっと掘り下げてみようかな。

 

コメントする

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