PHP没有检测到空的POST变量

Rol*_*and 2 php

我有以下数组

Array ( [productid] => 3
[newid] => 3
[name] => 
[description] => 
[price] => 
[onlinestock] => 
[weight] => 
[keywords] => 
[longdescription] => 
[graphic1] => 89.jpeg 
[graphic2] => 
[parameter1] => 
[parameter2] => 
[category1id] => 101 
[category2id] => 
[category3id] => 
[category4id] => 
[category5id] => 
[extra1] => 
[extra2] => 
[extra3] => 
[group1id] => 1575 
[groupprice1] => 0 
[group2id] => 1576 
[groupprice2] => 0 
[group3id] => 1577 
[groupprice3] => 0 
[group4id] => 1578 
[groupprice4] => 0 
[group5id] => 1579 
[groupprice5] => 0 
Run Code Online (Sandbox Code Playgroud)

我正在执行以下操作来检查空值

 if (empty($_REQUEST["category1id"])){ 
                $_REQUEST["category1id"] = 0;
        }else if (empty($_REQUEST["category2id"])){
                $_REQUEST["category2id"] = 0;
        }else if (empty($_REQUEST["category3id"])){
                $_REQUEST["category3id"] = 0;
        }else if (empty($_REQUEST["category4id"])){
                $_REQUEST["category4id"] = 0;
        }else if (empty($_REQUEST["category5id"])){
                $_REQUEST["category5id"] = 0;
        }else if (empty($_REQUEST["price"])){
                $_REQUEST["price"] = 0;
        }else if (empty($_REQUEST["onlinestock"])){
                $_REQUEST["onlinestock"] = 0;
        }else if (empty($_REQUEST["weight"])){
                $_REQUEST["weight"] = 0;
        }
Run Code Online (Sandbox Code Playgroud)

但不知何故,它没有检测到任何这些值为空?我不知道这可能是什么我试过$ _REQUEST ['category1id'] ==""这也没有用.任何帮助,将不胜感激

Pek*_*ica 7

你的逻辑是有缺陷的.通过使用else if,只有条件将匹配先前条件返回的位置false.摆脱每一个else它应该工作.