「データの流れ」をどれくらい意識していますか?
変数には、なにがしかのデータが入っています。
例えば以下のような感じですね。
$i = 123;
$s = "Hello";
一方で、PHPの変数は「再代入」が可能なので、以下のコードが続くこともあります。
$i = $i + 456;
$s = $s . " PHP World.";
このように。
同じ変数名でも、後のコードで中身が書き換えられ、変わっていくことがあります。
ですので、変数に「今、このタイミングではどんなデータが入っているのか」を、適切に読み解いていく必要があります。
こういった「変数の中身が、コードの途中でどう変わっていくか」を、「データの流れ」という言い方で表現することがあります。
また、データは「単独で存在しているもの」ばかりではありません。
例えば配列や連想配列のように「ひとかたまりのデータ群」の単位でもデータの流れがありますし、これはそのまま「クラスインスタンスの中にあるデータ群」のデータの流れもあります。
こういった単位を前提にしたデータの捉え方も重要になってくるので、意識をしておくとよいでしょう。
また、こういった「データの流れを意識すること」は、デバッグの時にも役に立ちます。
デバッグをしていると、時々「ちゃんと動いている”はず”」「ここにはデータが入っている”はず”」「ここのデータはこうなっている”はず”」といった言葉を聞きますが、この「はず」は、割と落とし穴になりがちです。
デバッグをする時には、「そのタイミングで、実際にデータがどんな値になっているのか」をきちんと確認しながら進めていくのが重要になります。
みなさんも是非、扱っている「データ」をしっかり意識してプログラムを書いてみましょう。

