


Let's talk about the detailed explanation of the difference between single and double quotation marks in PHP, the detailed explanation of the difference between double quotation marks in PHP_PHP Tutorial
Let’s talk about the detailed explanation of the difference between single and double quotes in PHP, and the detailed explanation of the difference between double quotes in PHP
In PHP, the definition of a string can use English single quotes ' ', or you can use English double quotation marks "".
But the same type of single or double quotes must be used to define the string. For example, 'Hello World' and 'Hello World' are illegal string definitions.
What is the difference between single quotes and double quotes? Let’s learn about it through this article.
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 type of quotation mark is considered a delimiter, either a single quotation mark or a 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:
Php code
$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 quotes in string variables
PHP allows us to directly include string variables in double-quoted strings. We can find that the processing results of the following two strings 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:
Php code
$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 the insertion of single quote '). Therefore, you should use double quotes when you want to perform variable substitution and include escape sequences such as n (newline) in a string. 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 needs to be parsed inside the string. It is therefore more complex and therefore slightly slower to process.
Some problems may arise when referencing complex combinations of variables in strings. The following code will work fine:
Php code
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]"; //We want to print an element of the two-dimensional array $a.
To avoid these potential problems in using strings, we usually separate complex variables from strings, like this: echo 'value = ' . $a[$i][$j];/ / Use dot (.) to connect strings
Another way is to enclose complex variables in curly braces, so that the parser can correctly identify them:
echo "value = {$a[$i][$j]}" //打印二维数组$a的某个元素
In this way, a new problem arises. When we want to quote the curly brace character itself in a string, we need to remember to use the escape character:
Php code
$var = 3; echo "value = {$var}"; // 打印结果 "value = 3" echo "value = \{$var}"; // 打印结果 "value = {3}" $var = 3; echo "value = {$var}"; // 打印结果 "value = 3" echo "value = \{$var}"; // 打印结果 "value = {3}"
3. In SQL statement
This is a problem that is often encountered. The SQL statement inserted into the database uses single quotes to define the string. If you want to insert a string containing single quotes 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 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. So there is no need to use other functions.
Supplement: This starts with the role of double quotes and single quotes: Fields in double quotes will be interpreted by the compiler and then output as HTML code, but fields in single quotes are not required Interpretation and output directly.
For example:
$abc='I love u'; echo $abc //结果是:I love u echo '$abc' //结果是:$abc echo "$abc" //结果是:I love u
So when assigning values to SQL statements in the database, double quotes must be used. SQL="select a,b,c from..." However, there will be single quotes in the SQL statement to quote the field names
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 it’s like this:
$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 double quotes, I hope you can see it more clearly.
That is, replace 'abc' with '".$user."' all within a single quote. Just split the entire SQL string. SQL1 can be broken down into the following 3 parts
1:"select * from table where user=' "
2:$user
3:" ' "
Use . to connect strings, so you can understand.
The above is a detailed explanation of the difference between single and double quotes in PHP introduced by the editor. I hope it will be helpful to you. If you want to know more, please pay attention to the Bangkejia website!

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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
