簡體   English   中英

檢查是否設置了變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM