ホームページ  >  記事  >  バックエンド開発  >  isset と empty に関する問題

isset と empty に関する問題

WBOY
WBOYオリジナル
2016-06-23 13:15:36909ブラウズ

電卓アプレット、赤字部分でemptyを使うと正常に結果が表示されるのですが、issetに置き換えると異常になります この例ではissetとemptyの違いは何でしょうか?
//num1とnum2を受け取る
if( empty($_POST)){
$r='数字を入力してください'
}else{
$num1 = isset($_POST['num1'] ) ? (int)$ _POST['num1'] : 0;
$num2 = isset($_POST['num2'])
// 演算子を受信します
yunsuan=isset($ _POST['yunsuan'])?$_POST['yunsuan']:'+';

switch ($yunsuan) {
case '+':
$r=$num1+$num2; ;
ケース '-':
$r=$num1-$num2;
ケース '*':
$r=$ num1/$num2;
デフォルト:
$r='数値を入力してください';
;



?php echo $r ?>


番号 1: ;


番号 2:
+
- *
/














http://www.jb51.net /article /24666.htm

if(empty($_POST)){



if(!isset($_POST)){

効果は同じです

$_POST はスーパーグローバル変数であり、生成されますPHP カーネルによって、それがポスト送信であるかどうかは関係ありません

したがって、 isset($_POST) は常に true

isset($_POST) が false であることがわかった場合、それは、によって送信されたデータのサイズを意味しますあなたの投稿は php のデフォルト値を超えています

明らかにこれは重大なエラーです

isset: この変数が存在するかどうか empty: 変数が null かどうか
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。