PHP strlen()函数用法详解

 更新时间:2023年07月28日 10:43:21   作者:士别三日wyx  
PHP中的strlen()函数用于获取字符串的长度,即字符串字符的个数,并返回该字符串中字符的数量,这个函数不考虑字符的编码,只计算字符的个数,本文就给大家详细说说PHP strlen()函数的使用方法

strlen() 可以返回「字符串」的「长度」。

语法

int strlen( $str )

参数

  • $str:需要计算长度的字符串

返回值

返回字符串的长度「字节数」,空字符串、NULL、false 返回 0。

一、字符串

传入「字符串」作为参数,会返回字符串的长度,这也是最常用的方式。

实例:

var_dump(strlen('1234'));
var_dump(strlen('abcd'));

输出:

int(4)
int(4)

二、空格

strlen() 计算的是「字节数」而不是「字符」个数,遇到「空格」时,长度也会+1。

实例:

# 一个空格
var_dump(strlen(' '));
# 两个空格
var_dump(strlen('  '));
# 字符中夹杂空格
var_dump(strlen('a b c '));

输出:

int(1)
int(2)
int(6)

三、整数和小数

虽然 strlen() 要求传入string类型的参数,但传入「数值类型」也能计算长度,整数和小数和字符串一样,都会计算字节数。

实例:

var_dump(strlen(123));
var_dump(strlen('123'));
var_dump(strlen(123.1));
var_dump(strlen('123.1'));

输出:

int(3)
int(3)
int(5)
int(5)

四、布尔类型

「布尔类型」比较特别, true 返回 1, false 返回 0。

实例:

var_dump(strlen(true));
var_dump(strlen(false));

输出:

int(1)
int(0)

五、转译字符

「转译字符」算一个字节,长度+1,但需要用「双引号」包裹,单引号会被当做字符串。

实例:

var_dump(strlen("\n"));
var_dump(strlen("\n\r"));
var_dump(strlen('\n'));

输出:

int(1)
int(2)
int(2)

六、算数运算符

传入的参数「不加引号」并包含「算数运算符」时,strlen() 会先运算,再计算运算结果的长度。

实例:

var_dump(strlen(1+1));
var_dump(strlen(5*5));
var_dump(strlen('1+1'));

输出:

int(1)
int(2)
int(3)

实例:取反~同样会先运算,再计算运算结果的长度

var_dump(strlen(~~10));
var_dump(strlen(~10));

输出:

int(2)
int(3)

七、逻辑运算符

传入的参数「不加引号」并包含「逻辑运算符」时,strlen() 会先运算,再计算运算结果的长度。

由于逻辑运算符的结果是 true 或 false ,所以他们的返回结果都是 1 或 0。

实例:

var_dump(strlen(1&1));
var_dump(strlen(1|0));
var_dump(strlen(!1));

输出:

int(1)
int(1)
int(0)

八、特殊符号

「英文」的「特殊符号」算一个字节,长度+1;「中文」的「特殊符号」算三个字节,长度+3。

实例:

var_dump(strlen(";"));
var_dump(strlen(";"));
var_dump(strlen(','));
var_dump(strlen(','));

输出:

int(3)
int(1)
int(3)
int(1)

九、中文

「UTF8编码」的中文字符占3个字节,长度+3;紫色「GB2321编码」的中文字符占2个字节,长度+2。

实例:

var_dump(strlen("中文"));
var_dump(strlen('中文'));

输出:

int(6)
int(6)

十、空与NULL

$str 为「空字符串」或为 NULL 时,返回长度 0。

实例:

var_dump(strlen(''));
var_dump(strlen(null));

输出:

int(0)
int(0)

到此这篇关于PHP strlen()函数用法详解的文章就介绍到这了,更多相关PHP strlen()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • php中数据格式判断方法总结

    php中数据格式判断方法总结

    这篇文章主要为大家详细介绍了php中数据格式判断方法,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • Mysql数据库操作类( 1127版,提供源码下载 )

    Mysql数据库操作类( 1127版,提供源码下载 )

    Mysql数据库操作类,学习php的朋友可以参考下。
    2010-12-12
  • php时区转换转换函数

    php时区转换转换函数

    godaddy主机在国外。把站点建站国外,显示时间时可能需要时区转换,下面是个方便的工具函数,用于时区转换
    2014-01-01
  • PHP简单判断手机设备的方法

    PHP简单判断手机设备的方法

    这篇文章主要介绍了PHP简单判断手机设备的方法,涉及php基于服务器预定义变量进行判断操作的相关技巧,需要的朋友可以参考下
    2016-08-08
  • PHP过滤器的实现方法

    PHP过滤器的实现方法

    要想在PHP中实现一个类似过滤器的功能,因为我的需求是这样的,有个开发好了的OA系统,要集成到我们的应用中,OA要对外来的数据进行过滤,在给自己处理。
    2010-07-07
  • php设计模式 FlyWeight (享元模式)

    php设计模式 FlyWeight (享元模式)

    运用享元技术有效的支持大量细粒度的对象,需要的朋友可以参考下。
    2011-06-06
  • php生成并下载word文件到本地实现方法详解

    php生成并下载word文件到本地实现方法详解

    要给最常用出租屋管理系统增加个合同功能,mark下知识点。要生成合同就需要使用phpword。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 晋城吧对DiscuzX进行的前端优化要点

    晋城吧对DiscuzX进行的前端优化要点

    晋城吧的服务器在美国,延迟相对国内略微要高一些,所以优化就显得非常重要。
    2010-09-09
  • php计算年龄精准到年月日

    php计算年龄精准到年月日

    这篇文章主要介绍了php计算年龄精准到年月日的方法,涉及php操作日期与字符串的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-11-11
  • JavaScript+PHP实现视频文件分片上传的示例代码

    JavaScript+PHP实现视频文件分片上传的示例代码

    这篇文章主要介绍了基于JavaScript+PHP实现视频文件分片上传,视频文件分片上传,整体思路是利用JavaScript将文件切片,然后循环调用上传接口 upload.php 将切片上传到服务器,文中有详细代码供大家参考,需要的朋友可以参考下
    2024-02-02

最新评论