当检查超全局类似$_GET或$_POST存在特定键的值时,是否有一种方法以更简洁的方式包含以下功能?
if (isset($_POST['foo']) && $_POST['foo'] !== '') {
    // ...
}
在isset()自身函数返回TRUE即使值是一个空字符串'',所以我不能使用.
使用just $_POST['foo'] !== ''将自己正常工作,但它会发出一个E_NOTICE未定义的索引,这是不可取的.
该empty()函数返回TRUE的值"0",这是一个有效的价值,所以我不能使用的,无论是.
我错过了一些明显的东西,或者这真的是最好/唯一的方法吗?
可能您正在寻找array_key_exists():
if (array_key_exists('foo', $_POST)){
    // will execute when $_POST['foo'] is set, even if to null, false, '' etc.
};
如果你不想匹配空字符串(''),那么你的解决方案就足够了.上面的解决方案false仅在密钥不存在时提供给您.
| 归档时间: | 
 | 
| 查看次数: | 145 次 | 
| 最近记录: |