hei,所以我想在这里做的是验证我的功能的两个来源,如果设置$ this-> post [" search"]使用它或者如果设置$ this-&gt ; post [" id"]使用id,但不能同时使用两者:
($this->post["search"] or $this->post["id"])
如果我转储我得到一个真实答案的bool值,为什么?
所以,如果我有像sql字符串这样的长字符串,我不想使用elseif
,我希望更像是:
$this->sql->cell("select search_for('" . $this->post["search"] or $this->post["id"] . "') as response;");
答案 0 :(得分:0)
你可能应该根据设置来传递控制流:
if ( isset($this->post["search"]) ) {
// deal with search
} else if ( isset($this->post["id"]) ) {
// deal with id
} else {
// gracefully reject dealing: nothing to do
}
BTW,isset
为空字符串返回true
:
$test = array( 'a' => '' );
var_dump(isset($test['a']));
//⇒ bool(true)
要确定$_POST
参数是否具有值,请使用:
!empty($_POST['id'])
希望它有所帮助。