<< クエリーの解析 | main | リファラーの文字コード変換 >>

2007.03.02 Friday

その変数、値がはいってますか?

PHPでは、変数の型は自動的に決定されます。
このため、文字、数字を意識しないで、そのままprintできたりして、何気に便利なのですが、その変数に値が入っていない場合、妙な表示になったりします。
--

PHPで変数に値が入っているかを確認する方法には、
いくつかのアプローチが用意されています。

■empty
empty - 変数が空であるかどうかを検査する
基本的には、empty(変数名)で、値が空でなければ、FALSEを返します。
空チェックは、

"" (空文字列)
0 (0 は整数)
"0" (0は文字列)
NULL
FALSE
array() (空の配列)
var $var;(変数が宣言されているが、クラスの中で値が設定されていない)


注意点としては、数値として扱っている場合、その値がゼロであったときの扱いくらいでしょうか。
XMLデータの配列チェックもemptyでOKです。

■isset
isset - 変数がセットされているかどうかを検査する
こちらは、すでに存在する変数のみにのみ使用できる関数です。
isset(変数名)でコールすると、変数名が存在すればTRUEを返します。
注意点としては、

isset() は何らかの値が渡された 変数の場合のみ動作します。そうでない場合、パースエラーとなります。 もし 定数 が設定されているかどうかをチェックする場合は、 defined() を使用してください


といったところ。

■array_key_exists
array_key_exists - 指定したキーまたは添字が配列にあるかどうかを調べる
一つ前のエントリでも補足説明しましたが、PHPでは、添字に数字でなく文字が使える「連想配列」をサポートしています。
その連想配列に希望のキーが存在するかどうかをチェックする関数が、このarray_key_existsです。
関数の戻り値が連想配列になっている場合は、array_key_existsを使うのが手っ取り早いです。
PHPでは、配列関連の関数がやたらと多いのですが、
配列関数(array)
にあらかじめ目を通しておくと、きっと幸せになれます。

いろいろとありますが、用途に応じた使い分けをすることで、
より分かりやすい記述が可能です。

--

テクノラティお気に入りに追加する

Comments

コメント入力は停止しています

海外からと思われるコメントスパムが横行しているため、全記事のコメント入力を停止しています。メッセージのある方は、ホームページの一番下に連絡欄がありますので、そちらからお願いします。

Trackback URL

トラックバックする場合は、
トラックバック元の記事にこのエントリへのリンクを記載してください
このエントリのタイトル「その変数、値がはいってますか?」
このエントリのリンク「http://kommy.s254.xrea.com/blog/log/eid20.html」