字符串可以看作是字符的流。例如,’G’ 是一个字符,’GoodsforCook’ 是一个字符串。我们已经在“PHP | 数据类型和变量”中学习了关于 PHP 中字符串数据类型的基础知识。
在本文中,我们将详细讨论字符串。在 PHP 中,用单引号(’ ‘)和双引号(” “)括起来的一切都被视为字符串。
创建字符串:
在 PHP 中有四种创建字符串的方法:
单引号字符串:这种类型的字符串不会处理引号内的特殊字符。
<?php
// 单引号字符串
$site = 'Welcome to GoodsforCook';
echo $site;
?>
输出:
Welcome to GoodsforCook
上面的程序编译正确。我们创建了一个字符串 ‘Welcome to GoodsforCook’ 并将其存储在变量中,然后使用 echo 语句打印出来。
让我们现在看一下下面的程序:
<?php
// 单引号字符串
$site = 'GoodsforCook';
echo 'Welcome to $site';
?>
输出:
Welcome to $site
在上面的程序中,echo 语句打印出了变量名,而不是打印变量的内容。这是因为在 PHP 中,单引号字符串不会处理特殊字符。因此,字符串无法将 ‘$’ 符号识别为变量名的起始。
双引号字符串:与单引号字符串不同,PHP 中的双引号字符串可以处理特殊字符。
<?php
// 双引号字符串
echo "Welcome to GoodsforCook \n";
$site = "GoodsforCook";
echo "Welcome to $site";
?>
输出:
Welcome to GoodsforCook
Welcome to GoodsforCook
在上面的程序中,我们可以看到双引号字符串根据其属性处理特殊字符。’\n’ 字符没有被打印出来,而是被视为换行符。而在变量名 $site 的位置,打印出了 “GoodsforCook”。
在 PHP 中,双引号(” “)中的一切都被视为字符串。
在本文中,我们将学习各种字符串函数的工作原理以及如何实现它们,以及一些字符串的特殊属性。与其他数据类型(如整数、浮点数等)不同,字符串没有固定的限制或范围。只要在引号内,它可以延伸到任意长度。之前已经讨论过,使用单引号和双引号的字符串会有不同的处理方式。在单引号引起的字符串中,特殊字符被忽略,但是双引号引起的字符串会识别特殊字符并对其进行不同的处理。
例如:
<?php
$name = "Krishna";
echo "The name of the geek is $name \n";
echo 'The name of the geek is $name';
?>
输出:
The name of the geek is Krishna
The name of the geek is $name
一些重要且经常使用的与双引号字符串一起使用的特殊字符如下所述:
以反斜杠(“\”)开始的字符被视为转义序列,并替换为特殊字符。以下是几个重要的转义序列:
“\n” 被替换为换行符
“\t” 被替换为制表符
“$” 被替换为美元符号
“\r” 被替换为回车
“\” 被替换为反斜杠
“\”” 被替换为双引号“'”
被替换为单引号
以美元符号(“$”)开头的字符串被视为变量,并替换为变量的内容。
Heredoc:Heredoc(<<<)的语法是另一种界定 PHP 字符串的方式。在 heredoc(<<<)运算符之后给出一个标识符,然后可以按照新行的方式编写任何文本。要关闭语法,使用相同的标识符,不带任何制表符或空格。
注意:Heredoc 语法类似于双引号字符串,但没有引号。
例如:
<?php
$input = <<<testHeredoc
Welcome to GoodsforCook.
Started content writing in GoodsforCook!.
I am enjoying this.
testHeredoc;
echo $input;
?>
输出:
Welcome to GoodsforCook.
Started content writing in GoodsforCook!.
I am enjoying this.
Nowdoc:Nowdoc 与 heredoc 非常相似,除了在 heredoc 中进行的解析。Nowdoc 的语法与 heredoc 语法类似,使用单引号括起标识符。Nowdoc 的规则与 heredoc 相同。
注意:Nowdoc 语法类似于单引号字符串。
例如:
<?php
$input = <<<'testNowdoc'
Welcome to GoodsforCook.
Started content writing in GoodsforCook!.
testNowdoc;
echo $input;
// 直接打印字符串,不使用变量
echo <<<'Nowdoc'
<br/>
Welcome to GFG .
Learning PHP is fun in GFG.
Nowdoc;
?>
输出:
Welcome to GoodsforCook.
Started content writing in GoodsforCook!.
Welcome to GFG .
Learning PHP is fun in GFG.