php输出数据,变量能插在双引号中输出么

在某些特定情况下单引号的效率比双引号高。 PHP把单引号中的数据视为普通字符串不再处理。 而双引号还要对其中的字符串进行处理比如遇到$了会把其后的内容视为變量等。

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

该博客对php中echo输出语句中单双引号嘚使用区别给出了详细解释并阐明了php向mysql写入数据时变量解析的规范问题,如有歧义请及时指出

  • echo语句中单双引号的区别

我们在学习php时大概都遇到过这样的问题,即经常见到代码中使用echo语句时有时候使用单引号有时候使用双引号,那么到底该使用哪个呢它们又有什么区別呢? 
其实大多数学过php的人都知道,在php中被单引号引起来的变量不产生变量作用,而双引号引起来的变量产生变量作用简而言之,單引号不能识别变量而双引号可以识别变量。如下验证: 

代码中我们声明了一个变量$b,并分别使用双引号和单引号对其进行echo输出结果显示为: 
从上图结果中我们可以看出,双引号引起来的变量产生了变量作用输出了变量$b的值,单引号引起来的变量没有产生变量作用而是直接讲变量名作为字符串输出。

  • php向mysql插入数据时的变量解析问题详解

说完了echo语句单双引号的变量解析问题现在我们来说说php向mysql插入数据時的变量解析问题 
我们都知道,在mysql中使用sql语句例如查询语句时凡是遇到非int型的字段都要用单引号引起来,比如:select*from tablename where stu_name=’张三’;同样的我們在php代码中想查询数据库数据时非int型的变量也要用单引号引起来,例如: 
看到这里也许有人就会有疑问了因为我们上一个知识点里面提箌了,单引号不能解析变量这段代码这样写合理吗?答案是合理在echo语句中单引号不能产生变量作用是众所周知的,这毋庸置疑但是茬php生成sql语句时,普通的非整型变量是可以直接放在单引号中的(博主认为这里的单引号是sql中的单引号,而非php中的单引号意义不同不能哃日而语),所以说这种写法是没问题的 
但是如果在使用php操作数据库时要匹配的是一个数组变量,不管字段是否为整型代码都必须为洳下写法: 
否则程序会报错。 
这种处理方式有两种解释: 
第一:单引号不能解析出数组变量所以必须先用双引号将其解析出来,再用单引号引起来(但是字符串连接符的存在就无法接受) 
第二:单引号不能解析出数组变量,所以分别将变量前面的所有sql语句和变量后面的所有sql语句用双引号引起来再将这三部分用连接符连起来赋值给$query。(博主更倾向于这种解释) 

本回答由广州宏天软件股份有限公司提供

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

 

随机推荐