![](/img/trans.png)
[英]Is there anyway to encrypt POST/GET variables before sending them?
[英]Do we always need to check if post and get variables are set before reading/using them?
考慮以下示例:
if ( isset($_POST['type']) && 'page' == $_POST['type'] )
return;
我們需要isset($_POST['type'])
檢查嗎?
從目前為止我所看到的似乎是以下結果:
if ( 'page' == $_POST['type'] )
return;
還是在某些情況下會引起問題?
使用“ isset
”是正確的方法,否則將引發警告:“索引類型未定義”。 它還檢查數組是否為空。
isset()
函數將用於替換兩個函數
if(!empty(your_array) && array_key_exists('type',$POST['type']))
因此,請使用此檢查以避免進一步的並發症
這可能會導致出現錯誤通知之類的問題: PHP:“通知:未定義的變量”,“通知:未定義的索引”和“通知:未定義的偏移量”
您可以使用array_key_exists
代替isset
。 array_key_exists
方法肯定會告訴您數組中是否存在鍵,而isset僅在鍵/變量存在且不為null時返回true
還有另一個重要區別。 當$ x不存在時, isset
不會抱怨,而array_key_exists
則不會。
$x = [
'key1' => 'abcd',
'key2' => null
];
isset($x['key1']); // true
array_key_exists('key1', $x); // true
isset($x['key2']); // false
array_key_exists('key2', $x); // true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.