[英]Check if Variables Are Set
檢查POST變量是否已設置的最有效方法是什么?
例如,我從第1頁收集10個變量,如果它們已經設置,我想將這些數據存儲在第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';
}
}
通常我使用這個輔助函數:
function defa($array, $key, $default){
if(isset($array[$key])){
return $array[$key];
}else{
return $default;
}
}
用法:
$book = defa($_POST, 'book', 'Not available');
或者,如果您只使用$ _POST數組,則可以簡化:
function post_defa($key, $default){
if(isset($_POST[$key])){
return $_POST[$key];
}else{
return $default;
}
}
用法:
$book = post_defa('book', 'Not available');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.