php单双引号
定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的
$s = "I am a 'single quote string' inside a double quote string";
$s = 'I am a "double quote string" inside a single quotePHP字符串单双引号区别和定义 string';
$full_name = $first_name . ' ' . $last_name;
$full_name = "$first_name $last_name";
$foo = 2;
echo "foo is $foo"; // 打印结果: foo is 2
echo 'foo is $foo'; // 打印结果: foo is $foo
echo "foo is $foo\n"; // 打印结果: foo is 2 (同时换行)
echo 'foo is $foo\n'; // 打印结果: foo is $foo\n
echo "value = $foo";
echo "value = $a[$i]";
echo "value = $foo";
echo "value = $a[$i]";
而下面的代码却不能得到我们希望的结果:
echo "value = $a[$i][$j]"; //我们希望打印二维数组$a的某个元素。
为避免这些字串使用中的潜在问题,我们通常把复杂的变量从字串中分离开来,就像这样:
echo 'value = ' . $a[$i][$j];//字符串的连接用点(.)
还有一种办法是将复杂变量用花括号括起来,语法分析器就能正确辨认了:
echo "value = {$a[$i][$j]}" //打印二维数组$a的某个元素
$var = 3;
echo "value = {$var}"; // 打印结果 "value = 3"
echo "value = \{$var}"; // 打印结果 "value = {3}"
$file = "c:\windows\system.ini";
echo $file; // 打印结果为: c:windowssystem.ini
$file = "c:\\windows\\system.ini";
echo $file; // 打印结果为: c:\windows\system.ini
3、在SQL语句中
这是会经常遇到的问题,在插入数据库的SQL语句是采用单引号来定义字符串,如果要将一个含有单引号的字符串插入数据库,这个SQL语句就会出错。
$sql="insert into userinfo (username,password) Values('O'Kefee','123456')"
此时,处理的方法之一是在SQL语句中加入转义符反斜线,即:……Values('O\'Kefee',…… 当然也可以使用函数 addslashes(),该函数的功能就是加入转义符,
即:$s = addslashes("O'Kefee") ……Values('".$s."',…… 还有一种方法是设置php.ini中的magic-quotes选项,打开该选项,则通过表单提交的信息中如果有单引号是,将会自动加上如转义符。因此不用使用其他函数了。
$abc='I love u';
echo $abc //结果是:I love u
echo '$abc' //结果是:$abc
echo "$abc" //结果是:I love u
所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..." 但是SQL语句中会有单引号把字段名引出来
$user='abc';
SQL1="select * from table where user=' ".$user." ' ";对比一下
SQL2="select * from table where user=' abc ' "
php单双引号的更多相关文章
- sql语句的单双引号问题
$current_account_url='<a class="mini-button" iconcls="icon-edit" onclick=&quo ...
- JS中反斜杠和单双引号的配合使用效果
<div id="tag"></div> <div id="tag1"></div> <div id=&q ...
- php中alert弹出时单双引号问题
php代码中单双引号问题是个很重要的问题,使用不当会造成很多麻烦.先记录一下今天写alert遇到的麻烦.我做登录的时候,成功时想弹出个提示说登录成功.写alert语句时不显示.其实就是单双引号弄得不对 ...
- JS中字符串拼装 单双引号的处理 字符转义
js中可能会用到动态追加元素,可能数据也是从后台传过来的,当然有两种思路, 1.在后台拼装好直接返回; 2.在前台js里面拼装, 如果拼装大量的html时可能单双引号就容易出问题;那么如何解决呢?最近 ...
- 单双引号的区别,defined容易疏忽的小地方
单双引号的区别(面试题) 1.双引号可以解析变量,单引号不行 2.双引号解析转义字符,单引号不解析转义字符.但是单引号能解析 ...
- PHP中使用单双引号的区别
1,双引号可以解析变量,单引号不可以解析: 2,双引号解析转义字符,单引号不解析转义,但是可以解析 \' 和 \\ ; 3,单双引号不能自己套自己,要嵌套使用,避免混乱: 4,单引号效率更高,能使 ...
- ORA-00923: FROM keyword not found where expected(单双引号)
1.前提 在学习oracel的过程中遇到的一个关于单双引号的问题 备注一下 2.学习过程中创建表语句是这样的 create table DEPT_DML --部门表( DEPT_NO NUMBER(8 ...
- js中字符串的replace方法区分单双引号
今天遇到一问题,js文件中调用字符串的replace方法,不起作用. 后来排查可能觉得replace("<option value='1'>admin</option&g ...
- js+正则+单双引号问题
在处理用js动态添加表格时,表格中有正则表达式,其单双引号问题导致的添加表格不成功,和正则失效问题 <script type="text/javascript"> va ...
随机推荐
- 一起入门python7之函数参数
上一节课简单的讲了一下函数.那么今天来给大家讲一下函数参数.用案例说话哈.上一节课只是让大家有比较简单的了解,那么这节我们来细化一下哈.>>>def hello(x): ...
- SPOJ 1811 Longest Common Substring
Description 给出两个字符串,求最长公共子串. Sol SAM. 这题随便做啊...后缀数组/Hash+二分都可以. SAM就是模板啊...直接在SAM上跑就行,没有了 \(go[w]\) ...
- postgresql数据库实用操作
查模型的列名: select column_name from information_schema.columns where table_name= 'your_table'; 应用: 1. 给 ...
- MySql 导出excel
select * into outfile './bestlovesky.xls' from bestlovesky where 1 order by id desc limit 0, 50;
- Convert a given Binary Tree to Doubly Linked List
The question and solution are from: http://www.geeksforgeeks.org/convert-given-binary-tree-doubly-li ...
- jQuery DataTables && Django serializer
jQuery DataTables https://www.datatables.net 本文参考的官方示例 http://datatables.net/release-datatables/exam ...
- C# 反射+抽象工厂模式
此模式可以很好的更换程序使用不同的数据库 1.用到的属性类 using System; using System.Collections.Generic; using System.Linq; usi ...
- ui router 介绍
1. 路由规则 rap框架页面路由基于ui-router实现 1.1 ui-router 一个基本的路由状态如下所示: 路由配置: $stateProvider .state('po',{ url:' ...
- Android应用主题与横竖屏的切换
很多App,现在都具有了横竖屏切换的功能,或者说"白天"和"黑夜"主题的切换. 实现起来也非常简单.主要需要注意的是,在切换的同时,页面的数据不能丢失,不然给用 ...
- 【leetcode】Maximum Gap(hard)★
Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...