PHPの勉強を始めたばかりの頃、条件分岐が良く分かりませんでした。今思えば、if文が何かわかっていないというより、if文で何を判断させて良いのか分からなかったような気がします。そんな条件分岐で困った時の為にすぐに使えそうな関数をピックアップしてみました。
値の有無
empty()
値が空かどうかを調べる関数です。こっちから覚えたので今でも使える時は大体迷わずこれを使いますが、変数に0や空文字がセットされている場合も値無しと判断されます。
isset()
こちらは変数に値がセットされているかどうかを調べる関数です。空文字や0が変数にセットされている場合は値有りと判断されます
strlen()
こちらは変数にセットされた値の長さを調べる関数です
試しに動かしてみてください。入力に文字を入れて実行を押せば実行できます。
文字列一致
str_pos()
こいつはややこしい関数で、これを覚えるならpreg_match覚えた方が良いです。個人的に、この関数嫌いです。strposは値が一致すれば値の一致した場所を数値で返し無ければfalseが返る。ここまでは良いとして一致する場所が0番目の場合があるので、falseは完全一致で聞かないといけないので、後で書きますが、僕はアホなのでだいぶあたまのなかがややこしくなります。
preg_match()
文字列というかパターンの一致を調べる関数です。使用する際に少しだけ頭使わないといけないのが面倒臭い所ですが、正規表現によるマッチングが出来るので、幅広く条件を扱う事が出来ます。正規表現とは、「4つの数値」とか「6つの文字列」とか「1つのなんか知らん文字」とかこういうのを一つの言い方にまとめたものです。表現の数はすんごいあるので、暇があったら覚えてみると良いと思います。とりあえずこの表現をを使ってパターンを作ると、条件一致の幅が非常に広がります。
型の判定
この辺はもう字の如くです。
is_string()
与えられた情報が、文字列かどうか調べる
is_int()
与えられた情報が、整数型かどうか調べる
is_numeric()
与えられた情報が、数値か数値形式の文字列かどうか調べる
is_array()
与えられた情報が、配列かどうか調べる
is_object()
与えられた情報が、オブジェクトかどうか調べる
とりあえず条件判断する材料があれば、なんとなく困んないんじゃないでしょうか!