如何在檢查它是否存在的同時通過$_GET
變量值'0'
? 比如我通常檢查,看看是變量存在的:
$myVar= (!isset($_GET['t1'])? $_GET['t1'] : '');
或
$myVar= (!empty($_GET['t1'])? $_GET['t1'] : '');
任的這兩種檢查,但返回false
0
A
回答
3
你的第一線是不是做你所期望的,因爲這是問:是不是$_GET['t1']
沒有設置?如果不是,$myvar = $_GET['t1']
。如果它被設置,$myvar = ''
。
$myVar= (!isset($_GET['t1'])? $_GET['t1'] : '');
所以它應該是:
$myVar= (isset($_GET['t1'])? $_GET['t1'] : '');
+2
零被認爲是空的,所以'!empty($ _ GET ['t1'])'不會通過http://us3.php.net/手動/ EN/function.empty.php – 2014-09-06 00:52:36
1
的一種方法,我更喜歡,特別的參數數量較多處理時,是指定默認值的數組然後使用union運營商提前準備$_GET
陣列。
舉例來說,你期望最多4個參數,你想抓住它們或應用它們沒有給出的默認值。通過isset三元探戈這樣做會給你這樣的事情:
$myVar1 = isset($_GET['t1']) ? $_GET['t1'] : '';
$myVar2 = isset($_GET['t2']) ? $_GET['t2'] : false;
$myVar3 = isset($_GET['t3']) ? $_GET['t3'] : null;
$myVar4 = isset($_GET['t4']) ? $_GET['t4'] : null;
這是乏味的,容易拼寫錯誤,並能獲得看只是簡單的凌亂。
對比搭配:
$defaults = [
't1' => '',
't2' => false,
't3' => null,
't4' => null
];
$_GET += $defaults;
$myVar1 = $_GET['t1'];
$myVar2 = $_GET['t2'];
$myVar3 = $_GET['t3'];
$myVar4 = $_GET['t4'];
後者宣稱你期待前面的參數,並使用後的參數分離應用的默認值。
相關問題
- 1. PHP $ _GET不發送
- 2. $ _GET在PHP變量
- 3. xmlhttp.open不發送$ _GET值到php文件
- 4. 使用jQuery將值發送到$ _GET
- 5. 如何使用.htaccess發送$ _GET值
- 6. 「解析錯誤」使用$ _GET變量(PHP)
- 7. PHP開關盒$ _GET的變量和開關盒$ _GET的變量值
- 8. 如何使用htaccess發送多個$ _GET [「x」]變量?
- 9. 在Wordpress.org中發送PHP變量的值
- 10. $ _GET的JavaScript變量到PHP
- 11. PHP請求變量賦值$ _GET
- 12. 發送數組在_GET php
- 13. 使用子域值作爲$ _GET變量
- 14. 如何發送JS變量值到PHP?
- 15. php $ _GET沒有變量
- 16. PHP $ _GET變量檢查
- 17. URL重寫PHP $ _GET變量
- 18. $ _GET的變量變量
- 19. 如何使用php在頭中發送變量值?
- 20. 爲$ _GET變量
- 21. Javascript變量,發送到PHP變量
- 22. 發送JavaScript變量PHP變量
- 23. 使用PHP發送變量到Css使用PHP
- 24. Php變量發送到js
- 25. 發送JavaScript變量到PHP
- 26. 發送php變量到Flash
- 27. 發送JavaScript變量到PHP
- 28. 發送PHP變量POST
- 29. 如何通過$ _GET變量發送HTML(<table>)代碼
- 30. 發送使用sed變量
https://eval.in/189157 – 2014-09-06 00:48:53