如何在检查它是否存在的同时通过$_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. 如何使用htaccess发送多个$ _GET [“x”]变量?
- 8. $ _GET的JavaScript变量到PHP
- 9. 在Wordpress.org中发送PHP变量的值
- 10. PHP请求变量赋值$ _GET
- 11. 发送数组在_GET php
- 12. 使用子域值作为$ _GET变量
- 13. URL重写PHP $ _GET变量
- 14. php $ _GET没有变量
- 15. 变量$ _GET变量
- 16. $ _GET的变量变量
- 17. 为$ _GET变量
- 18. 发送JavaScript变量PHP变量
- 19. Javascript变量,发送到PHP变量
- 20. 发送php变量到Flash
- 21. 发送JavaScript变量到PHP
- 22. 发送使用sed变量
- 23. PHP:$ _GET包含的变量不在$ _REQUEST
- 24. PHP $ _GET前一页的变量
- 25. 未定义的变量:_get XAMP PHP
- 26. $“_GET”变量问题中的PHP“&”字符
- 27. $ _GET变量到FPDF
- 28. 为$ _GET变量赋予新值
- 29. 用变量发送PHP表单问题
- 30. 用ajax发送变量到php
https://eval.in/189157 – 2014-09-06 00:48:53