「GET」メソッドを使用してフォームを含むページがあります。私がそれを提出すると、次のページへの値渡しは、例えばhttp://localhost/land_by_province.php?province_id=14
ですが、私がecho isset($_REQUEST['province_id']);
を使うとき、私は常に「1」を得ます。
でも、私はprovince_idの値が$_REQUEST['province_id']
で変更されても常に「1」を返します。
なぜそれはそうですか?
「GET」メソッドを使用してフォームを含むページがあります。私がそれを提出すると、次のページへの値渡しは、例えばhttp://localhost/land_by_province.php?province_id=14
ですが、私がecho isset($_REQUEST['province_id']);
を使うとき、私は常に「1」を得ます。
でも、私はprovince_idの値が$_REQUEST['province_id']
で変更されても常に「1」を返します。
なぜそれはそうですか?
isset()
は、変数の値ではなくブール値を返します。その変数が設定されているので、あなたはPHPでboolean TRUEを出力するときにgertするものを1にします。
したがって、isset()
を使用せずに変数の内容をエコーアウトしたいとします。
echo $_REQUEST['province_id'];
FYI、$_REQUEST
上$_GET
を使用することが常に安全です。
ISSET
ISSETは、変数がNULLまたは割り当てられていない値以外の任意の値であるかどうかをチェックし、それが設定されている言い換えれば、参照変数をチェックします。変数が存在し、NULL以外の値を持つ場合、ISSETはTRUEを返します。それは ""、0、 "0" に割り当てられた変数を意味し、またはFALSEを設定し、それゆえあなたは
if(isset($_REQUEST['province_id'])) //if value set it return 1 i.e true
{
echo $_REQUEST['province_id'];
}
else
{
echo "Not Set";
}
に持ってISSET
ためTRUEされています