十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
blob取回来会是一个[字符串类型]的字节串,用strlen获得字节数.
站在用户的角度思考问题,与客户深入沟通,找到海曙网站设计与海曙网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广、主机域名、虚拟主机、企业邮箱。业务覆盖海曙地区。
strlen()函数是沿用php2以来命名的函数,作用并不是统计字符数,而仅统计字节byte数。
即使php7.x仍沿用strlen数字节。
PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理:
(1)PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节;
(2)中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站长的喜爱。gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异。
说明
strlen ( string $string ) : int
返回给定的字符串 string 的长度。
参数
string
需要计算长度的字符串。
返回值
成功则返回字符串 string 的长度;如果 string 为空,则返回 0。
更新日志
版本 说明
5.3.0 Prior versions treated arrays as the string Array, thus returning a string length of 5 and emitting an E_NOTICE level error.
范例
Example #1 strlen() 范例
在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧。
php如何获取数组的长度,使用php函数count(),或是sizeof()
例如:
复制代码
代码如下:
$arr
=
Array('0','1','2','3','4');
echo
count($arr);
//
输出
5
$arr
=
array('A','B','C');
echo
sizeof($arr);
//输出3
sizeof()和count()具有同样的用途,这两个函数都可以返回数组元素个数.可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0;
两函数功能一样,手册上讲,sizeof()是函数count()的别名。
那么多维数组长度要怎么统计呢?继续看例子
比如你读取的数组是一个二维数组:
复制代码
代码如下:
?php
$arr=array(
0=array('title'
=
'新闻1',
'viewnum'
=
123,
'content'
=
'ZAQXSWedcrfv'),
1=array('title'
=
'新闻2',
'viewnum'
=
99,
'content'
=
'QWERTYUIOPZXCVBNM')
);
?
如果你想统计数组$arr的长度,也就是说该二维数组只有两条新闻,你想要的数字也是2,但是如果使用count($arr)不同版本的php,统计的结果是不一样的;
后来在php手册中发现,count函数还有第二个参数,解释如下:
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组,
所以如果要判断读取的数组$arr是不是有新闻信息,就要这样写了:
复制代码
代码如下:
?php
if(is_array($arr)
count($arr,COUNT_NORMAL)0
)
{
.....
}
else
{
.....
}
?
你可以使用这样的代码来测试该函数:
复制代码
代码如下:
?php
$arr=array(
0=array('title'
=
'新闻1',
'viewnum'
=
123,
'content'
=
'ZAQXSWedcrfv'),
1=array('title'
=
'新闻2',
'viewnum'
=
99,
'content'
=
'QWERTYUIOPZXCVBNM')
);
echo
'不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL)
echo
"br/";
echo
'统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
?
php如何获取一维数组的长度,使用php函数count(),或是sizeof();
示例如下:
$arr = Array('0','1','2','3','4');
echo count($arr);
// 输出 5
$arr = array('A','B','C');
echo sizeof($arr);
//输出3
多维数组:
$arr=array(
0=array('title' = '新闻1', 'viewnum' = 123, 'content' = '内容1'),
1=array('title' = '新闻2', 'viewnum' = 99, 'content' = '内容2')
);
echo '不统计多维数组:'.count($arr,0); echo '或用sizeof为'.sizeof($arr,0);
echo "br/";
echo '统计多维数组:'.count($arr,1);echo '或用sizeof为'.sizeof($arr,1);