php如何判斷get或post的值是否存在

來源:互聯網
上載者:User
php如何判斷get或post的值是否存在,這個問題困擾了我很長時間,是用isset還是empty還是is_array啥的,請大神給一個指點

回複內容:

php如何判斷get或post的值是否存在,這個問題困擾了我很長時間,是用isset還是empty還是is_array啥的,請大神給一個指點

isset()是判斷這個變數是否定義,empty()是在這個變數已經定義的情況下(如果變數沒定義,將報錯variable is undefinded),判斷這個變數是否為null,Null 字元串,空數組都被empty()視為空白,返回true。舉個例子,比如傳過來一個表單$user('name'=>'tom','nickname'=>''),你想判斷$use['nickname']是都已經被使用者填寫了資料,可以用empty()來判斷,比如你的表單裡面本來有password欄位,但是第三方登入註冊的使用者暫時沒有密碼欄位,這你就需要判斷isset($user['password'])了,isset和empty有本質上的區別,希望我舉的例子可以為你的理解提供協助~

可以利用$_SERVER['REQUEST_METHOD']來判斷是什麼請求類型
可以看看官方的解釋
$_SERVER — 伺服器和執行環境資訊

來來來,手把手教
$apply_name = isset($_POST['apply_name']) ? $_POST['apply_name'] : '';
或者
$apply_name = isset($_GET['apply_name']) ? $_GET['apply_name'] : '';

如果連get和post都不知道,就
$apply_name = isset($_REQUEST['apply_name']) ? $_REQUEST['apply_name'] : '';

我個人的寫法就是[全部檢查],這樣能避免各種錯誤的產生。畢竟安全性跟全面性在普通項目裡面還是用的比較多的。

//我所有的項目都有包括一個custom_function.php的公用檔案。function check_var( $var, $default = ''){    return( (isset($var) and !empty($var )) ? $var : (!empty($default) ? $default : false) );    }// 這樣我就可以在我任何的檔案裡面調用全域函數檢測變數:$array =['id'=>123];var_dump( check_var( $array['id'] ) ); // 輸出 int(123) var_dump( check_var( $array['code'] ) ); // 輸出 bool(false) var_dump( check_var( $array['code'], 'not set') ); // 輸出 string(7) "not set" 

先弄清楚 isset、empty、is_null等這些變數判斷函數的作用,再根據你的使用情境去使用對應的函數:
php empty,isset,is_null比較 參考1
php empty,isset,is_null比較 參考2
php empty,isset,is_null比較 參考3
變數判斷附錄

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.