1.$a = 'abcd'2.$b = array('aaa' =>'abcd', 'bbb' =>array(12,34))3.echo "{$a}" // 输出 abcd4.echo "{$b['aaa']}" // 输出 abcd5.echo "{$b['bbb'][1]}" // 输出 34
所以写的时候想偷懒就用花括号,不会出错;
但是在性能上,单引号的性能最好,因为单引号中的内容会直接被当成字符串,没其他的解析;而解析双引号的时候,会先判断双引号内有没有变量,有变量就把变量用变量值代替,最后再输出双引号内整个的内容;花括号就更不用说了,可以输出复杂的变量内容。
单引号,单引号中的内容会被直接当成一个字符串,单引号中无法输出变量值;
$a = 'abcd'echo '$a' // 输出结果就是 $a,而不是 abcd
双引号,双引号中可以输出简单变量,不能输出复杂变量,否则会报错;
$a = 'abcd'$b = array('aaa' => 'abcd')
echo "$a" // 输出 abcd,因为双引号中可以解析简单变量
echo "$b['aaa']" // 直接报错,因为双引号中不能解析复杂变量
花括号,花括号中既可以输出简单变量,也可以输出复杂变量,如数组、对象等;
$a = 'abcd'$b = array('aaa' => 'abcd', 'bbb' => array(12,34))
echo "{$a}" // 输出 abcd
echo "{$b['aaa']}" // 输出 abcd
echo "{$b['bbb'][1]}" // 输出 34
所以写的时候想偷懒就用花括号,不会出错;
但是在性能上,单引号的性能最好,因为单引号中的内容会直接被当成字符串,没其他的解析;而解析双引号的时候,会先判断双引号内有没有变量,有变量就把变量用变量值代替,最后再输出双引号内整个的内容;花括号就更不用说了,可以输出复杂的变量内容。
所以一般如果项目没有性能要求的话或者小项目的话,随便怎么用没关系;但是大网站或者要求性能的网站就得视情况挑着用了
针对你拉追加问题:$mysql->insert_table("test1","name","'mm\\'")这个只存进“mm",斜线“\”没有
这里是这样的,首先,\是PHP里的转义字符,使用两个\,即"\\",实际上相当于一个\字符;
然后再说一点,在数据库中,单引号'是数据库中的转义字符,所以,你这里应该写作:
$mysql->insert_table("test1","name","mm'\\")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)