字符串是字符的集合。 字符串是PHP支持的数据类型之一。
字符串变量可以包含字母数字字符。 在以下情况下创建字符串:
现在,让我们看一下在PHP中创建PHP字符串函数和字符串操作的四种不同方式。
使用单引号创建PHP字符串:创建字符串的最简单方法是使用单引号。
让我们看一个示例,该示例在PHP中创建一个简单的字符串。
<?php
var_dump('You need to be logged in to view this page');
?>
Output:
string(42) "You need to be logged in to view this page"
如果单引号是字符串值的一部分,则可以使用反斜杠对其进行转义。
下面的代码说明了如何对单引号进行转义。
<?php
echo 'I \'ll be back after 20 minutes';
?>
Output:
I'll be back after 20 minutes
与单引号相比,双引号用于创建相对复杂的字符串。
可以在双引号中使用变量名称,并显示其值。
让我们看一个例子。
<?php
$name='Alicia';
echo "$name is friends with kalinda";
?>
这里,
上面的示例创建一个具有Alicia值的简单字符串。
然后,在使用双引号创建的字符串中使用变量名称,并在运行时对其值进行插值。
Output:
Alicia is friends with kalinda
除了变量插值,双引号字符串还可以转义更多特殊字符,例如“ \ n表示换行,\ $ dollar表示美元”等。
更多示例假设我们有以下代码
<?php $pwd = "pas$word"; echo $pwd; ?>
Output:
NOTICE : Undefined variable
pas
执行以上代码会发出“ Notice:Undefined variable”的通知。
这是因为$ word被视为变量。
如果我们希望将美元符号视为文字值,则必须对其进行转义。
<?php
$word="word";
$pwd = "pas\$word";
echo $pwd; ?>
Output:
pas$word
与双引号相比,此Heredoc方法用于创建相当复杂的字符串。
Heredoc支持双引号的所有功能,并允许在不使用PHP字符串串联的情况下使用多行创建字符串值。
使用双引号创建具有多行的字符串会产生错误。
您也可以在内部使用双引号而不将其转义。
下面的示例说明了如何使用Heredoc方法创建字符串值。
<?php
$baby_name = "Shalon";
echo <<<EOT
When $baby_name was a baby,
She used to look like a "boy".
EOT;
?>
这里,
<<< EOT是字符串定界符。
EOT是文本结尾的首字母缩写。
它应该在字符串的开头和结尾处在线定义。
注意:您可以使用任何喜欢的东西代替EOT
Output:
When Shalon was a baby, She used to look like a "boy".
Nowdoc字符串创建方法与heredoc方法类似,但工作方式与单引号一样。
Nowdoc内部不进行任何解析。
当使用不需要解析的原始数据时,Nowdoc是理想的选择。
下面的代码显示了Nowdoc的实现
<?php
$baby_name = "Shalon";
$my_variable = <<<'EOT'
When $baby_name was a baby,
She used to look like a "boy".
EOT;
echo $my_variable;
?>
Output:
When $baby_name was a baby, She used to look like a "boy".
PHP中的字符串函数用于处理字符串值。
现在,我们将看一些PHP中常用的字符串函数
函数 | 描述 | Example | Output |
strtolower | 用于将所有字符串字符转换为小写字母 | echo strtolower( ‘Benjamin’); | outputs benjamin |
strtoupper | 用于将所有字符串字符转换为大写字母 | echo strtoupper(‘george w bush’); | outputs GEORGE W BUSH |
strlen | 字符串长度函数用于计算字符串中的字符数。 字符之间的空格也计算在内 | echo strlen(‘united states of america’); | 24 |
explode | 用于将字符串转换为数组变量 | $settings = explode(‘;’, “host=localhost; db=sales; uid=root; pwd=demo”); print_r($settings); | Array ( [0] => host=localhost [1] => db=sales [2] => uid=root [3] => pwd=demo ) |
substr | 用于返回部分字符串。 它接受三(3)个基本参数。 第一个是要缩短的字符串,第二个参数是起点的位置,第三个参数是要返回的字符数。 | $my_var = ‘This is a really long sentence that I wish to cut short’;echo substr($my_var,0, 12).’…’; | This is a re… |
str_replace | 用于查找和替换给定字符串中的指定字符串值。 该函数接受三个参数。 第一个参数是要替换的文本,第二个参数是替换文本,第三个参数是要分析的文本。 | echo str_replace (‘the’, ‘that’, ‘the laptop is very expensive’); | that laptop is very expensive |
strpos | 用于查找字符串并返回字符在字符串中的位置。 该函数接受两个参数 | echo strpos(‘PHP Programing’,’Pro’); | 4 |
sha1 | 用于计算字符串值的SHA-1哈希 | echo sha1(‘password’); | 5baa61e4c 9b93f3f0 682250b6cf8331b 7ee68fd8 |
md5 | 用于计算字符串值的md5哈希 | echo md5(‘password’); | 9f961034ee 4de758 baf4de09ceeb1a75 |
str_word_count | 用于计算字符串中的单词数。 | echo str_word_count (‘This is a really long sentence that I wish to cut short’); | 12 |
ucfirst | 将字符串值的第一个字符设为大写 | echo ucfirst(‘respect’); | Outputs Respect |
lcfirst | 使字符串值的第一个字符小写 | echo lcfirst(‘RESPECT’); | Outputs rESPECT |
有关PHP字符串的完整列表,请查看https://php.net/manual/en/ref.strings.php