PHP 教程 在线

574PHP 字符串

对于中文,可以使用 mb_strpos 来查询中文字符的位置。

注意:中英文的感叹号、双引号等不同,如: !

注意:mb_strpos 按字处理,strpos 按字符处理。

<?php
echo strpos('开始23测试ceshi', '测试') . PHP_EOL;
echo mb_strpos('开始23测试ceshi', '测试') . PHP_EOL;

echo strpos('123测试ceshi', '测试') . PHP_EOL;
echo mb_strpos('123测试ceshi', '测试') . PHP_EOL;
?>

输出结果为:

8
4
3
3

573PHP 字符串

strpos() 返回的不是第一匹配的字符会的下标,是按照字符数量来算。例如:

<?php
$str = "你好!!a";
echo strpos($str ,"!");
?>

输出的是 6。同时,中文下的字符在 UTF-8 下是 3 个字符长度,在 gbk 下是2个字符长度。

这个 strpos() 只能用于判断字符在字符串中是否存在。

572PHP 字符串

<?php
echo strlen("中文字符");   // 输出 12
?>

输出结果为 12,因为一个中文占 3 个字符数。

可以使用 mb_strlen 设置指定编码输出中文字符个数:

<?php
echo mb_strlen("中文字符",'utf-8');  // 输出 4
?>

571PHP 数据类型

echo,print,print_r,var_dump 的区别

1.echo

输出一个或者多个字符串。

2.print

和 echo 一样,速度 比 echo 慢。

3.print_r

打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。 记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。

4.var_dump

此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

5.var_dump 和 print_r 的区别

var_dump 返回表达式的类型与值而 print_r 仅返回结果,相比调试代码使用 var_dump 更便于阅读。

570PHP 数据类型

说明:var_dump() 方法,判断一个变量的类型与长度,并输出变量的数值,如果变量有值,则输出是变量的值,并返回数据类型。显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

格式:

var_dump ( mixed expression [, mixed expression [, ...]] )

注意:用保证 var_dump 中的变量必须是存在的,如果变量不存在则返回 NULL。该函数有输出的功能,因此不必加其它的输出函数。