PHP 字符串

PHP 中,一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode 。详见字符串类型详解。

注意: 在 32 位版本中,string 最大可以达到 2GB(最多 2147483647 字节)。

语法
一个字符串可以用 4 种方式表达:

  • 单引号
  • 双引号
  • heredoc 语法结构
  • nowdoc 语法结构


单引号
定义一个字符串的最简单的方法是用单引号把它包围起来(字符 ‘)。

要表达一个单引号自身,需在它的前面加个反斜线(\)来转义。要表达一个反斜线自身,则用两个反斜线(\)。其它任何方式的反斜线都会被当成反斜线本身:也就是说如果想使用其它转义序列例如 \r 或者 \n,并不代表任何特殊含义,就单纯是这两个字符本身。

注意: 不像双引号和 heredoc 语法结构,在单引号字符串中的变量和特殊字符的转义序列将不会被替换。

双引号
如果字符串是包围在双引号(”)中, PHP 将对以下特殊的字符进行解析:\n、\r、\t、\v、\e、\f、\、\$、\”。
和单引号字符串一样,转义任何其它字符都会导致反斜线被显示出来。

用双引号定义的字符串最重要的特征是变量会被解析,当 PHP 解析器遇到一个美元符号($)时,它会和其它很多解析器一样,去组合尽量多的标识以形成一个合法的变量名。可以用花括号来明确变量名的界线。

常用字符串处理函数

一,字符串截断 trim(),rtrim(),ltrim()

trim() 函数移除字符串两侧的空白字符或其他预定义字符,rtrim — 删除字符串末端的空白字符(或者其他字符),ltrim() 函数移除字符串左侧的空白字符或其他预定义字符。

二,格式化字符串 htmlspecialchars()

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。语法为:htmlspecialchars(string,quotestyle,character-set).

& 转换成 & 
< 转换成 &lt;
> 转换成 &gt;
" 转换成 &quot;
' 转换成 &apos;

三,字符串连接和分割 explode()、implode()和 join()

explode()示例

// 示例 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

implode()示例

// implode(array $array): string

$array = ['lastname', 'email', 'phone'];
var_dump(implode(",", $array)); // string(20) "lastname,email,phone"

// Empty string when using an empty array:
var_dump(implode('hello', [])); // string(0) ""

// The separator is optional:
var_dump(implode(['a', 'b', 'c'])); // string(3) "abc"

PHP 7.4.0 在 array 之后传递 separator 已经被废弃

四,获取字符串长度 strlen() 和 mb_strlen()

$a = 'abc';
echo strlen($a); //输出3
echo mb_strlen($a); //输出3

$b = '你好啊';
echo strlen($b); //输出9
echo mb_strlen($b); //输出3

$b = '你好啊abc';
echo strlen($b); //输出12
echo mb_strlen($b); //输出6

五,截取字符串 substr() 和 mb_substr()

substr(string,start,length)

参数 描述
string 必需。规定要返回其中一部分的字符串。

start 必需。规定在字符串的何处开始。
正数 – 在字符串的指定位置开始
负数 – 在从字符串结尾的指定位置开始
0 – 在字符串中的第一个字符处开始

length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 – 从 start 参数所在的位置返回
负数 – 从字符串末端返回

收藏 0
评论
语言参考
PHP 常量
2023-05-10 01:10:37
语言参考
PHP 数组
2023-05-10 01:31:43
生成中...
登录
注册
重置密码