本章我们将更详细地处理字符串数据,字符串是计算机语言中非常重要的数据类型。 这就是为什么我们将一整章专门讨论在 PHP 中使用字符串的原因。
PHP 字符串字面值
字符串字面值是表示计算机程序文本内的字符串值的符号。 在 PHP 中,可以使用单引号,双引号或使用 heredoc 或 nowdoc 语法创建字符串。
literals.php
在此代码示例中,我们创建两个字符串并将它们分配给$a
和$b
变量。 我们用echo
关键字打印它们。 第一个字符串使用双引号定界符创建,第二个字符串使用单引号定界符。
下一个示例将使用 heredoc 语法创建一个字符串。 Heredoc 保留文本中的换行符和其他空格(包括缩进)。 在[doc]中创建[doc],然后使用<<<
,后跟定界标识符,然后从下一行开始,在要引用的文本之后,再在同一行中以相同的标识符关闭。 结束标识符不能缩进。 它只能包含字母数字字符和下划线,并且必须以非数字字符或下划线开头。
heredoc.php
该示例打印直接语音的示例。
这是示例的输出。
nowdoc 的指定方式与 Heredoc 相似,但是在 nowdoc 内部未进行任何解析。 nowdoc 的标识与 Heredocs 所使用的序列相同<<<
,但是后面的标识符用单引号引起来,例如 < < <‘TEXT’。
nowdoc.php
该示例使用 nowdoc 语法打印三个句子。
这是nowdoc.php
脚本的输出。
PHP 插值
变量被插入双引号中的字符串中。
interpolation.php
$quantity
变量将在字符串输出中替换为其值。
这是interpolation.php
脚本的输出。
当变量名称位于另一个字符旁边时,可以使用大括号。
curlybraces.php
没有花括号,PHP 解释器将查找$ item_names 变量,该变量不存在。
这是curlybraces.php
脚本的输出。
PHP 字符串连接
PHP 使用点.
运算符来连接字符串。
该示例连接了两个字符串。
PHP 还支持.=
复合运算符。
PHP 转义字符
转义字符是指定用于对字符序列中紧随其后的字符调用替代解释的单个字符。
回车\r
是控制字符,用于将行尾返回到行首。
strophe.php
新行是一个控制字符,它开始一行新文本。
这是strophe.php
脚本的输出。
水平选项卡在文本之间放置一个空格。
单引号和双引号可以嵌套。 或者,如果仅使用单引号,则可以使用反斜杠来转义单引号的默认含义。
backslash.php
在此示例中,我们有一个多行文本,其中包括直接语音。 双引号用反斜杠字符转义。
美元符号$
在 PHP 中也有特殊含义; 它表示一个变量。 如果在字符串中使用了变量,则会对其进行插值,即使用变量的值。 为了回显变量名,我们转义了$
字符\$
。
PHP 字符串操作
PHP 具有大量有用的有用内置函数,可用于处理字符串。
在这里,我们使用三个功能。 strlen()
函数返回字符串中的许多字符。 strtoupper()
将字符转换为大写字母,strtolower()
将字符转换为小写字母。
letters.php
在我们的示例中,我们有一个字符串句子。 我们计算句子中的绝对字符数,字母字符数,数字和空格。 为此,我们使用以下功能:strlen()
,ctype_alpha()
,ctype_digit()
和ctype_space()
。
这是letters.php
脚本的输出。
接下来,我们介绍substr()
功能。
该函数返回字符串的一部分。 第一个参数是指定的字符串。 第二个参数是子字符串的开头。 第三个参数是可选的。 它是返回的子字符串的长度。 默认值为返回到字符串末尾。
str_repeat()
函数将字符串重复指定的次数。
repeat.php
我们使用str_repeat()
函数创建两行#
字符。
这是repeat.php
脚本的输出。
在下一个示例中,我们将随机修改一个字符串。
shuffling.php
str_shuffle()
随机随机播放一个字符串。
这是shuffling.php
脚本的示例输出。
explode()
功能用于将字符串分成多个部分。 它返回一个分割字符串部分的数组。
exploding.php
字符串中包含整数,并用逗号分隔。 我们计算整数的数量。
在这里,我们使用explode()
功能分割文本。 每当找到点,
字符时,该函数就会将其切成小段。
示例的输出。
teams1.php
我们用点运算符连接字符串。
输出不是最佳的。 我们将对其进行更改,以使其看起来更整洁。
teams2.php
我们使用str_pad()
功能改善了输出格式。 它将在字符串的左侧,右侧或两侧添加指定的字符串(在我们的示例中为空格)。
我们设法提供了更好的格式化输出。
字符数组
PHP 中的字符串是一个字符数组。
array_of_chars.php
在示例中,我们遍历字符串并打印每个字符的 ASCII 码。
定义了一个字符串。 它包含十一个字符。
我们使用 for 循环遍历字符串。 字符串的大小由strlen()
函数确定。 ord()
函数返回字符的 ASCII 值。 我们使用数组索引符号来获取字符。
这是array_of_chars.php
示例的输出。
PHP 字符串格式化
字符串格式化或字符串插值是将各种值动态地放入字符串中。
fruits.php
我们使用%d
格式说明符。 指定者希望传递一个整数值。
在下一个示例中,我们传递一个 float 和一个字符串值。
height.php
浮点值的格式说明符为%f
,字符串为%s
。
我们可能不喜欢上面示例中的数字默认情况下具有 6 个小数位的事实。 我们可以控制格式说明符中的小数位数。
height2.php
小数点后跟一个整数控制小数位数。 在我们的例子中,数字恰好有一位小数。
下面的示例显示其他格式设置选项。
formatting.php
第一种格式适用于十六进制数字。 x
字符以十六进制格式格式化数字。 o
字符以八进制格式显示数字。 e
字符以科学格式显示数字。
下一个示例显示三列数字。
columns.php
数字左对齐,输出不整齐。
为了解决这个问题,我们使用宽度说明符。 宽度说明符定义对象的最小宽度。 如果对象小于宽度,则将填充空格。
columns2.php
现在输出看起来正常。 数字 2 表示第一列的宽度为 2 个字符。