Many codes sometimes use single quotes or double quotes to contain string content. In fact, a simple summary is that variables in double quotes can be parsed, and single quotes are absolute strings. . Let me introduce it to you in detail below.
Recommended tutorial: PHP video tutorial
1. Define string
In PHP, the definition of a string can use single quotes or double quotes. However, the same single or double quotation marks must be used to define the string. For example, 'Hello' and 'Hello' are illegal string definitions.
When defining a string, only one kind of quotation mark is considered as the delimiter, that is, single quotation mark or double quotation mark. Thus, if a string begins with a double quote, only the double quote is parsed by the parser. This way, you can include any other character, even single quotes, within the double-quoted string. The following quotation mark strings are legal:
$s = "I am a 'single quote string' inside a double quote string"; $s = 'I am a "double quote string" inside a single quote string'; $s = "I am a 'single quote string' inside a double quote string"; $s = 'I am a "double quote string" inside a single quote string';
The string "Why doesn't "this" work?" will be divided into three paragraphs. If you want to express double quotes in this string, you can use the escape character "\" (backslash) to become "Why doesn't \"this\" work?"
2. Single and double quotation marks in string variables
PHP allows us to directly include string variables in double quotation mark strings. We It can be found that the processing results of the two strings below are the same.
$full_name = $first_name . ' ' . $last_name; $full_name = "$first_name $last_name";
Single quote strings and double quote strings are processed differently in PHP. The contents of a double-quoted string can be interpreted and replaced, while the contents of a single-quoted string are always considered ordinary characters. For example:
$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 $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
As you can see, even the backslash within a single quote string loses its extended meaning (except for the insertion of backslash \\ and insertion of single quote \'). Therefore, when you want to perform variable substitution and include escape sequences such as \n (newline character) in a string, you should use double quotes. Single quote strings can be used anywhere else. The processing speed of using single quote strings in scripts will be faster, because the PHP parser processes single quote strings in a relatively simple way, while the processing of double quotes also requires parsing inside the string. It is therefore more complex and therefore slightly slower to process.
When referencing complex variable combinations in strings, some problems may occur. The following code will work normally:
echo "value = $foo"; echo "value = $a[$i]"; echo "value = $foo"; echo "value = $a[$i]";
But the following code cannot get the results we want:
echo "value = $a[$i][$j]"; //我们希望打印二维数组$a的某个元素。
To avoid potential problems in the use of these strings, we usually separate complex variables from strings, like this:
echo 'value = ' . $a[$i][$j];//字符串的连接用点(.)
Another way is to separate complex variables Enclosed in curly braces, the syntax analyzer will recognize it correctly:
echo "value = {$a[$i][$j]}" //打印二维数组$a的某个元素
3. In the SQL statement
This is often the case The problem encountered is that the SQL statement inserted into the database uses single quotes to define the string. If a string containing single quotes is inserted into the database, the SQL statement will go wrong.
For example:
$sql="insert into userinfo (username,password) Values('O'Kefee','123456')"
At this time, one of the processing methods is to add the escape character backslash in the SQL statement,
That is:...Values ('O\'Kefee'
,...
Of course, you can also use the function addslashes(). The function of this function is to add escape characters,
That is:
$s = addslashes("O'Kefee") ……Values('".$s."',……
Another method is to set the magic-quotes option in php.ini. If this option is turned on, if there are single quotes in the information submitted through the form, escape characters will be automatically added. Therefore, there is no need to use other Function.
Supplement: This starts with the role of double quotes and single quotes: The fields in double quotes will be interpreted by the compiler and then output as HTML code, but the fields in single quotes are not required. Explanation, output directly.
For example:
$abc='I love u'; echo $abc //结果是:I love u echo '$abc' //结果是:$abc echo "$abc" //结果是:I love u
Therefore, when assigning values to SQL statements in the database, they must also be used in double quotes SQL="select a,b,c from .. ." But there will be single quotes in the SQL statement to quote the field name
For example:
select * from table where user='abc';
The SQL statement here can be written directly as SQL="select * from table where user= 'abc'"
But if like the following
$user='abc'; SQL1="select * from table where user=' ".$user." ' ";对比一下 SQL2="select * from table where user=' abc ' "
I added a little more space between the single quotes and the double quotes, I hope you can see it clearly.
That means replacing 'abc' with '".$user."' all within a single quote. It just splits the entire SQL string. SQL1 can be decomposed into the following three parts
1: "select * from table where user=' "
2: $user
3: " ' "
Use . to connect strings, so that Understand.
The above is the detailed content of PHP single quotes and double quotes usage. For more information, please follow other related articles on the PHP Chinese website!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Dreamweaver Mac version
Visual web development tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft
