php中关于长度计算容易混淆的问题分析

函数 数组 750浏览 285评论

本文实例讲述了php中关于长度计算容易混淆的问题。分享给大家供大家参考,具体如下:

经常被php中数组和字符串的字符函数搞晕,下面总结一下:

strlen($string)函数:计算字符串的长度;

sizeof($string,$mode)函数:它是count()函数的别名,count()函数如下:

int count ( mixed var [, int mode] )

返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元。

对于对象,如果安装了 SPL,可以通过实现 Countable 接口来调用 count()。该接口只有一个方法 count(),此方法返回 count() 函数的返回值。

如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 var 是 NULL 则结果是 0。

注: 可选的 mode 参数自 PHP 4.2.0 起可用。

如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用。mode 的默认值是 0。count() 识别不了无限递归。

总之,字符串用strlen(),数组用sizeof()即可。

希望本文所述对大家PHP程序设计有所帮助。