php - 检查是否设置了变量

标签 php

检查 POST 变量是否已设置的最有效方法是什么?

例如,我正在从 Page 1 收集 10 个变量,如果设置了它们,我想将该数据存储在 Page 2 上。如果没有,我想分配“不可用”。

我目前正在使用 if !empty,但似乎必须有一种更简单/更有效的方法,我对 php 还很陌生,所以欢迎任何建议。

示例代码;

if (!empty($_POST["book"])) {
    $book= $_POST['book'];    
}else{  
    $book= 'not available';
}

if (!empty($_POST["author"])) {
    $author = $_POST['author'];    
}else{  
    $author= 'not available';
}

if (!empty($_POST["subtitle"])) {
    $subtitle= $_POST['subtitle'];   
}else{  
    $subtitle= 'not available';
}

etc...
etc...
etc...

最佳答案

使用循环和可变变量。

$fields = array('author', 'book', 'subtitle', ....);
foreach($fields as $field) {
   if (isset($_POST[$field])) {
      $$field = $_POST[$field]; // variable variable - ugly, but gets the job done
   } else {
      $$field = 'not available';
   }
}

关于php - 检查是否设置了变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27109828/

相关文章:

javascript - 如何将日期插入数据库

php - 从 WooCommerce 购物车错误消息中删除库存数量

javascript - JSON 输入意外结束 showNeg.js

php - 将 php 表单中的多行插入数据库

php - 实现最佳的 'fread' block 大小?

php - 在 PDO PHP 脚本中两次使用相同的 POST 值 | mysql

php - 如何获得未定义数量的 SQL 查询,这些查询相互依赖才能正常运行

javascript - 使用 jquery $.ajax 到 PHP post GET 值

使用模拟的 PHP Laravel 测试

php - 使用 htmlspecialchars 和 htmlentities 转换特殊字符