PHPの質問ですが、、


$s = $_GET['s'];
のようにURLでsを受け取る設定にした場合に
もしSが存在しない場合(xxx.htmlだけで?s=xxxがリンクされなかった際)$Sは何も受け取ってない空の状況になるのでしょうか?
つまり$S="";とおもっていいのでしょうか?

このように変数に何かが存在するかしないか求める方法はありますか?

またSに何か入っていた場合も変数自体を(殻にするのではなく)削除するようなことはできますか?

回答の条件
  • 1人2回まで
  • 登録:2006/10/08 18:12:33
  • 終了:2006/10/10 01:29:28

回答(2件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912006/10/08 18:36:54

ポイント35pt

変数が存在するかの確認には isset

変数が空であるかの確認にはempty

使用した変数の割当てを解除するにはunset

を使用します。

id:hanabusatsukasa

ありがとうございます!

2006/10/10 01:28:51
id:heppokoA No.2

heppokoA回答回数65ベストアンサー獲得回数72006/10/08 18:34:07

ポイント35pt

$_GET['s']がセットされていない状態では,(php.ini)の設定によって違いますがエラーが表示されます。エラーを表示させなくすれば,おそらく(=テストしていませんが...)NULLになります。厳密に評価するのでなければ,空文字 "" と同等に扱えます。

$_GET['s']がセットされているかどうか調べるには,isset($?GET['s']); を使います。何か値がセットされている場合にはtrue,セットされていない場合にはfalseが返ってきます。

配列の要素や,変数を削除したい場合には,unset($_GET['s']) のようにするといいと思います。

id:hanabusatsukasa

ありがとうございます。使わせていただきます。

2006/10/10 01:29:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません