社区
基础编程
帖子详情
$_GET和$_POST里面要不要加引号?
vickemble
2009-08-18 10:20:57
$_GET和$_POST里面要不要加引号?
$_GET[‘ABC’]
$_POST[‘ABC’]
$_GET["ABC"]
$_POST["ABC"]
$_GET[ABC]
$_POST[ABC]
是上面对,中间对,还是下面对?
...全文
948
22
打赏
收藏
$_GET和$_POST里面要不要加引号?
$_GET和$_POST里面要不要加引号? $_GET[‘ABC’] $_POST[‘ABC’] $_GET["ABC"] $_POST["ABC"] $_GET[ABC] $_POST[ABC] 是上面对,中间对,还是下面对?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
countstars
2009-08-19
打赏
举报
回复
[Quote=引用 6 楼 arserangel 的回复:]
但从性能方面考虑,$_GET['AB'] 要优于 $_GET["AB"],$_POST['AB']要优于 $_POST["AB"]
[/Quote]
没有这种说法,PHP没有明确表示单引号效率比双引号高,并且还可能双引号效率比单引号高。
countstars
2009-08-19
打赏
举报
回复
1
$_GET[AB],其中键值AB是一个常量,如果error_reporting(E_ALL)将会有一个notice,如果常量未定义PHP则认为它是一个字符串,但是你不能保证他不在前面被定义,如果定义为别的值那么$_GET[AB]可能就不是你想要的东西了。PHP允许键值表示成变量、字符串、常量、函数等,如:
$key = 'ab';
define('AB', 'ab');
function AB() {
return 'ab';
}
$_GET[$key]; //相当于$_GET['ab'];同$_GET["ab"];
$_GET[AB]; //相当于$_GET['ab'];同$_GET["ab"];
$_GET[AB()]; //相当于$_GET['ab'];同$_GET["ab"];
字符串使用单引号和双引号的区别只在于双引号中允许使用\n \r \t等转意字符,且可以包含变量,如
$a = 'a';
$key = "{$a}b"; //$key 值为 ab
phpboy
2009-08-19
打赏
举报
回复
[Quote=引用 21 楼 tfxg 的回复:]
都沒問題,但最好加單引號
[/Quote]
应该都是没有问题的,加上最好
tfxg
2009-08-19
打赏
举报
回复
都沒問題,但最好加單引號
铁马渡江河
2009-08-19
打赏
举报
回复
加单引号,这个比其他两个情况的速度快上至少4倍
乐游 之 神话
2009-08-19
打赏
举报
回复
学习了,加单引号!!
foolbirdflyfirst
2009-08-19
打赏
举报
回复
最好加上引号。
xiaoxue_427
2009-08-19
打赏
举报
回复
[Quote=引用 11 楼 arserangel 的回复:]
引用 8 楼 countstars 的回复:
引用 6 楼 arserangel 的回复:
但从性能方面考虑,$_GET['AB'] 要优于 $_GET["AB"],$_POST['AB']要优于 $_POST["AB"]
没有这种说法,PHP没有明确表示单引号效率比双引号高,并且还可能双引号效率比单引号高。
我印象中,如果是双引号,编译器首先要查找、编译其中可能出现的变量,如果是单引号,则直接当做字符串处理,是否这样?
谢谢!这是我的印象,不知有误否,还望指导
[/Quote]
正确
支持用单引号
猫已经找不回了
2009-08-19
打赏
举报
回复
最好单引
countstars
2009-08-19
打赏
举报
回复
[Quote=引用 12 楼 xuzuning 的回复:]
要加!
至少程序规范性是这样要求的
不只是$_GET、$_POST,所有的关联数组的关联键都是这个要求
纯字符串用单引号括起
含有变量的字符串用双引号括起,以便php完成求值的动作
6#的解答是正确的,而8#的补充是错误的
[/Quote]
请解释一下为什么我说的是错误的,随便下结论是会误导别人的.
countstars
2009-08-19
打赏
举报
回复
[Quote=引用 13 楼 lgzxz999 的回复:]
引用 11 楼 arserangel 的回复:
引用 8 楼 countstars 的回复:
引用 6 楼 arserangel 的回复:
我印象中,如果是双引号,编译器首先要查找、编译其中可能出现的变量,如果是单引号,则直接当做字符串处理,是否这样?
谢谢!这是我的印象,不知有误否,还望指导
是这样的
[/Quote]
建议看看这篇文章,或者看看源代码,不要建立在老版本的PHP的基础上
http://www.phpchina.com/html/27/n-34627.html
针对PHP 5.2及5.3的基准测试显示,虽然双引号使用窜改(interpolation)而单引号使用连锁(concatenation),这两个的速度是完全一致的(甚至双引号常常会更快一些)。当使用没有包含变量的普通字符串时,使用双引号的性能要明显占优。
lgzxz999
2009-08-19
打赏
举报
回复
[Quote=引用 11 楼 arserangel 的回复:]
引用 8 楼 countstars 的回复:
引用 6 楼 arserangel 的回复:
我印象中,如果是双引号,编译器首先要查找、编译其中可能出现的变量,如果是单引号,则直接当做字符串处理,是否这样?
谢谢!这是我的印象,不知有误否,还望指导
[/Quote]
是这样的
xuzuning
2009-08-19
打赏
举报
回复
要加!
至少程序规范性是这样要求的
不只是$_GET、$_POST,所有的关联数组的关联键都是这个要求
纯字符串用单引号括起
含有变量的字符串用双引号括起,以便php完成求值的动作
6#的解答是正确的,而8#的补充是错误的
荆棘谷-部落-王亚楠
2009-08-19
打赏
举报
回复
[Quote=引用 8 楼 countstars 的回复:]
引用 6 楼 arserangel 的回复:
但从性能方面考虑,$_GET['AB'] 要优于 $_GET["AB"],$_POST['AB']要优于 $_POST["AB"]
没有这种说法,PHP没有明确表示单引号效率比双引号高,并且还可能双引号效率比单引号高。
[/Quote]
我印象中,如果是双引号,编译器首先要查找、编译其中可能出现的变量,如果是单引号,则直接当做字符串处理,是否这样?
谢谢!这是我的印象,不知有误否,还望指导
ldyanstar
2009-08-19
打赏
举报
回复
支持二楼
linus_liu2000
2009-08-19
打赏
举报
回复
肯定要加, 单双引号都可
荆棘谷-部落-王亚楠
2009-08-18
打赏
举报
回复
不加引号也可以:
$_GET[AB]
$_POST[AB]
但是,在这种情况下,系统先是把 AB 当作常量的,即: $_GET[常量AB]和$_POST[常量AB],只有在上下文里找不到常量 AB 是,才把 AB 当作 $_GET和$_POST 的索引引用。
所以,推荐:
$_GET['AB']
$_POST['AB']
或
$_GET["AB"]
$_POST["AB"]
但从性能方面考虑,$_GET['AB'] 要优于 $_GET["AB"],$_POST['AB']要优于 $_POST["AB"],所以最佳方案还是:
$_GET['AB']
$_POST['AB']
fiwiner
2009-08-18
打赏
举报
回复
前两个对
CunningBoy
2009-08-18
打赏
举报
回复
单双引号都可以,不加引号不行
fengqipiaobo
2009-08-18
打赏
举报
回复
支持2楼!
加载更多回复(2)
$.get、$.
post
、$getJSON、$ajax的用法跟区别
本文深入解析了jQuery中AJAX方法的使用,包括$.get、$.
post
、$.getJSON和$.ajax,详细介绍了每个方法的参数、用法及实例,帮助读者掌握jQuery AJAX的基本操作。
PHP中$_REQUEST函数、$_
POST
函数、$_GET函数的区别
本文深入解析PHP中$_REQUEST、$_GET、$_
POST
的作用与区别,探讨GET与
POST
请求的不同,及如何安全有效地获取表单数据。
关于JQuery中$.get()和$.
post
()和$.ajax()的区别和使用
本文深入讲解了jQuery中的三种Ajax方法:$.get(), $.
post
() 和 $.ajax() 的使用方法及参数详解,帮助读者理解不同场景下如何选择合适的方法进行服务器数据交互。
PHP学习中$_Get和$_
Post
用法归纳
本文详细介绍了PHP中处理表单数据的$_GET、$_
POST
及$_REQUEST数组的使用方法,包括如何接收GET和
POST
请求的数据,并提供了示例代码。
$.ajax 中关于get、
post
与@RequestBody和@RequestParam使用注意
本文详细介绍了在使用$.ajax进行GET和
POST
请求时,如何正确使用Spring MVC中的@RequestBody和@RequestParam注解。GET请求不支持@RequestBody,而
POST
请求可以使用,但@RequestBody只能接收一个参数。当使用contentType: 'application/json;charset=UTF-8'时,前端发送的是JSON字符串,需使用JSON.stringify转换对象。同时,@RequestParam适合接收简单参数,@RequestBody适用于接收复杂对象,包括JSON数据。总结了两者在不同场景下的使用注意事项和限制。
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章