Categories
未分类

PHP 函数 pathinfo 用法详解

介绍 pathinfo 函数可以解析和返回指定文件的路径信息。比如文件目录路径、扩展名等。 函数原型 pathinfo (string $path[, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME]) : mixed 第一个参数,必传,文件路径。 第二个参数,选传,指定返回的元素。未指定时,全部返回。 返回值,根据第二个参数选项,返回指定元素的字符串,或返回一个数组,包含所有的元素。 用法示例 源码一 $myAccessLog = “/data/www/xingchaovv-com/access.log”; var_dump(pathinfo($myAccessLog)); 执行结果 array(4) { [“dirname”]=> string(24) “/data/www/xingchaovv-com” [“basename”]=> string(10) “access.log” [“extension”]=> string(3) “log” [“filename”]=> string(6) “access” } pathinfo 直接返回文件所有信息,其中 dirname 为文件所在目录路径;basename 为文件基础名称,即文件名;extension 为文件扩展名,filename 为文件不含后缀名称。 源码二 var_dump(pathinfo($myAccessLog, PATHINFO_DIRNAME)); 执行结果 […]

Categories
PHP

PHP 函数 explode 用法详解

介绍 explode 函数可以通过一个字符串来分割原始字符串,返回一个存放结果的数组。比如将字符串 1001,1002,1003 通过字符 , 分割为数组 [1001, 1002, 1003] 。 函数原型 explode(string $delimiter, string $string[, int $limit ]) : array 第一个参数 $delimiter,类型为字符串,表示分隔符号。第二个参数 $string,类型为字符串,表示原始要分隔的字符串。第三个参数 $limit,类型为整型,可选。当参数为正数时,表示最多分隔的结果个数。超过此个数后,后续字符串不再分隔;当参数为负数时,表示从分隔结果的末尾忽略此数量的结果。 用法示例 分隔时,传递分隔符和原始字符串。 explode(“::”, “1001::1002::1003”); // 结果 array(3) { [0]=> string(4) “1001” [1]=> string(4) “1002” [2]=> string(4) “1003” } 分隔时,同时指定最多个数。 explode(“::”, “1001::1002::1003”, 2) // 结果 array(2) { [0]=> string(4) “1001” [1]=> string(10) “1002::1003” } […]

Categories
PHP

PHP 函数 substr 用法详解

介绍 substr 函数用来对一个字符串的内容进行截取,返回字符串的一部分内容。 函数原型如下: substr(string $string, int $start[, int $length]) : string 第一个参数为字符串 $string,必传,表示原始的字符串。第二个参数为整型 $start,必传,表示截取起始的位置(截取包含此字符),参数为非负数时表示位置从原字符串开头向右数(第一个字符位置为 0),参数为负数时表示位置从原字符串末尾向左数(原字符末尾的位置为 -1)。第三个参数为整型 $length,可选,表示截取字符的长度(即从截取起始的位置)。字符的截取方向从左向右。当未传此参数时,表示截取到末尾。参数为负数时表示省略末尾的此长度的字符(-1 表示省略 1 个字符)。返回值,成功时为截取后的字符串;失败时为 false。 用法 // 指定开始位置 substr(‘zhangxingchao’, 2); // 返回 angxingchao 经验 结果判断问题 当我们需要判断是否执行成功时,需要使用全等而不是等于。比如: // 截取失败时 if (substr(“1230”, -1, 0) == false)) { echo “fail”; } // 此例子中实际截取成功 中文乱码问题 在 UTF-8 编码中,一个中文至少占三个字节。substr 函数的长度单位为字节长度,截取时若按照中文字符个数传递截取长度,可能会截取半个中文字符,导致出现乱码问题。 比如: substr(“大神”, 0, […]