php - 如何在不使用 empty() 和“&&”运算符的情况下处理空帖子(最多 20 个帖子)
问题描述
我正在接收帖子值。我想要一个关于处理空或不设置帖子值的逻辑建议。
如果其中一个收到空帖子,是否有这样的方法, $Data 数组不应该再收到值并使其为空。换句话说,我正在尝试模仿 try and catch 功能。如果任何 POST 为空,则忽略读取 POST 的其余部分并将该数组设为空
我的第二稿是否有效?
第一稿
if(!empty(isset($_POST["SHOWSCHEDULE_SHOWTYPE"]))){
$DATA["SHOWSCHEDULE_SHOWTYPE"] = $_POST["SHOWSCHEDULE_SHOWTYPE"];
}
if(!empty(isset($_POST["SHOWSCHEDULE_SHOWTITLE"]))){
$DATA["SHOWSCHEDULE_SHOWTITLE"] = $_POST["SHOWSCHEDULE_SHOWTITLE"];
}
if(empty($DATA)){
//do something
}else{
//do something else
}
第二稿
try{
if(!empty(isset($_POST["SHOWSCHEDULE_SHOWTITLE"]))){
$DATA["SHOWTITLE"] = $_POST["SHOWSCHEDULE_SHOWTITLE"];
}else{
throw new Exception('POST SHOWSCHEDULE_SHOWTITLE');
}
if(!empty(isset($_POST["SHOWSCHEDULE_SHOWTYPE"]))){
$DATA["SHOWTYPE"] = $_POST["SHOWSCHEDULE_SHOWTYPE"];
}else{
throw new Exception('POST SHOWSCHEDULE_SHOWTYPE');
}
} catch (Exception $e) {
echo 'ERROR: ', $e->getMessage(), "\n";
unset($DATA);
}
解决方案
您可以将一条if
语句与所有必需的 POST 参数一起使用。
if(!empty($_POST['var1']) && !empty($_POST['var2']) && !empty($_POST['var3']) && !empty($_POST['var4'])):
/*and then assign all the POST values to a $DATA array as you want.*/
$DATA['var1'] = $_POST['var1'];
$DATA['var2'] = $_POST['var2'];/* and so on..*/
endif;
推荐阅读
- python - 如何通过 python3 子进程在 nano 编辑器上保存 crontab -e
- python - 类 - 属性错误
- python - 使用 selenium 写入 Chrome 控制台
- swift - NSFetchedResultsController 谓词消除多个属性的重复
- python - 检查下载链接是否在python中有效
- python - 更快的 Python 技术,用于从相互为多个的数字列表中计算三元组
- javascript - Web - 使用 LocalStorage API 和 jQuery 删除选定的列表项
- android - 尝试使用 JetBrains/Exposed 连接到 MSSQL 数据库
- java - 使用java运行SQL查询时JTextArea刷新
- c++ - 这种使用 std::promise 线程安全吗?