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

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

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

时间: 2025-01-26 17:09:50

php中关于长度计算容易混淆的问题分析_php技巧的相关文章

PHP中使用addslashes函数转义的安全性原理分析_php技巧

本文实例讲述了PHP中使用addslashes函数转义的安全性原理分析.分享给大家供大家参考.具体分析如下: 先来看一下ECshop中addslashes_deep的原型 复制代码 代码如下: function addslashes_deep($value) {     if (empty($value)) {         return $value;  //如为空,直接返回;     } else {         return is_array($value) ? array_map(

php中$_POST与php://input的区别实例分析_php技巧

本文实例分析了php中$_POST与php://input的区别.分享给大家供大家参考.具体分析如下: $_POST 与 php教程://input可以取到值,$HTTP_RAW_POST_DATA 为空 $_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换php://input 也可以实现此这个功能可以获得POST的原始数据.代码 复制代码 代码如下: echo file_get_contents( "php://input "); 实例

php中foreach结合curl实现多线程的方法分析_php技巧

本文实例讲述了php中foreach结合curl实现多线程的方法.分享给大家供大家参考,具体如下: 多线程是php不支持的但我们可以通过foreach来伪多线程了,但这个伪多线程速度不一定比单线程要单到哪里去了,具体来看个例子. 在利用foreach语句循环图片URL,并通过CURL将所有图片进行本地保存的函数时,出现了只能采集到一个的问题,现将foreach和CURL结合进行多URL请求的方法进行下总结. 方法1:循环请求 $sr=array(url_1,url_2,url_3); forea

PHP中strcmp()和strcasecmp()函数字符串比较用法分析_php技巧

本文实例讲述了PHP中strcmp()和strcasecmp()函数字符串比较用法.分享给大家供大家参考,具体如下: 一.PHP中strcmp()函数用于比较两个字符串(区分大小写),其定义如下: strcmp(string1,string2) 参数说明: string1  必需.规定要比较的第一个字符串. string2  必需.规定要比较的第二个字符串. PS:strcmp()函数与 strncmp() 函数类似,不同的是,strncmp()可以指定每个字符串用于比较的字符数. 二.PHP中

php class中public,private,protected的区别以及实例分析_php技巧

一,public,private,protected的区别public:权限是最大的,可以内部调用,实例调用等.protected: 受保护类型,用于本类和继承类调用.private: 私有类型,只有在本类中使用. 二,实例 复制代码 代码如下: <?phperror_reporting(E_ALL);class test{ public $public; private $private; protected $protected; static $instance; public  func

php中静态类与静态变量用法的区别分析_php技巧

本文实例分析了php中静态类与静态变量用法的区别.分享给大家供大家参考.具体分析如下: static是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本文章的相关实例后就见分晓了. 1. 创建对象$object = new Class(),然后使用"->"调用:$object->attribute/function,前提是该变量/方法可访问. 2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态

PHP中抽象类、接口的区别与选择分析_php技巧

本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过关键字extends继承. 2.接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量.抽象类中可以声明各种类型成员变量,实现数据的封装.(另JAVA接口中的成员变量都要声明为public static final类型) <?php abstract class Father { funct

PHP中实现中文字符进制转换原理分析_php技巧

一,中文字符转十进制原理分析 GBK编码中一个汉字由二个字符组成,获取汉字字符串的方法如下 复制代码 代码如下: $string = "不要迷恋哥"; $length = strlen($string); for($i=0;$i<$length;$i++){ if(ord($string[$i])>127){ $result[] = ord($string[$i]).' '.ord($string[++$i]); } } var_dump($result); 由于一个汉字为

PHP中__FILE__、dirname与basename用法实例分析_php技巧

本文实例讲述了PHP中__FILE__.dirname与basename用法.分享给大家供大家参考.具体方法如下: 在php中__FILE__当前运行文件的完整路径和文件名,如果用在被包含文件中,则返回被包含的文件名,这是一个魔法变量(预定义常量),我们可以通用dirname与basename来获取文件目录或文件名. 一.__FILE__与dirname(__FILE__)与basename(__FILE__)使用: 通常在配置文件路径的时候用dirname(__FILE__)是非常有效的方法,