首页 > 编程语言 >PHP strlen() 和mb_strlen()函数

PHP strlen() 和mb_strlen()函数

时间:2024-04-15 15:34:45浏览次数:29  
标签:中文 mb echo str 长度 PHP strlen

<?php
    //测试时文件的编码方式要是UTF8
    $str='中文a字1符';
    echo strlen($str).'<br>';//14
    echo mb_strlen($str,'utf8').'<br>';//6
    echo mb_strlen($str,'gbk').'<br>';//8
    echo mb_strlen($str,'gb2312').'<br>';//10
?>

定义和用法

mb_strlen() 函数返回字符串的长度,与 strlen 不同的时,它可以通过设置字符编码从而返回对应的字符数,很好的处理了中文字符串的长度问题。

使用 mb_strlen 要开启 mbstring 扩展。

在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14,

在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 .

 

更多:https://www.shanhubei.com/archives/55228.html

标签:中文,mb,echo,str,长度,PHP,strlen
From: https://www.cnblogs.com/shanhubei/p/18136049

相关文章

  • 在Linux中,如何使用NFS和Samba共享文件和目录?
    在Linux中,NFS(NetworkFileSystem)和Samba是两种常用的文件共享协议,分别用于在Unix-like系统之间以及跨Linux和Windows系统共享文件和目录。下面分别详细介绍如何使用它们:1.使用NFS共享文件和目录安装NFS服务:对于基于Debian/Ubuntu的系统:sudoapt-getupdatesudoapt-geti......
  • PHP Allowed memory size of 134217728 bytes exhausted (tried to allocate 10489856
    问题返回的json数据太大导致Allowedmemorysizeof134217728bytesexhausted(triedtoallocate10489856bytes)解决方案修改php.ini的memory_limit修改php.ini中的memory_limit数值,默认128M,不够用可以改成256M或512M宝塔中修改点击“服务”>重启或重载配置......
  • php特性
    这里是根据ctfshowphp特性做的题积累的知识1.preg_match()函数可以利用数组绕过,因为preg_match只能处理字符串,所以当传入的subject是数组时会返回false2.intval()函数!!!如果是字符串,它返回的内容取决于字符串最左侧的字符。如intval(‘11a0’)=11。所有输入的内容加上一个字母......
  • thinkphp+vue跨域报错解决方案
     使用vue的axios.post向后台服务器的发送数据时报错:CORSpolicy:Responsetopreflightrequestdoesn'tpassaccesscontrolcheck:No'Access-Control-Allow-Origin'headerispresentontherequestedresource. 解决办法在public/index.php文件中添加以下代码://......
  • [题解]CF55D Beautiful Numbers
    CF55DBeautifulNumbers打出暴搜后有些茫然,不知道该怎么优化才好,看了题解才豁然开朗。简单说下暴搜的思路:参数有\(pos,limit,lcm,num\)。其中\(lcm\)表示到\(pos+1\)位,所有非\(0\)位的\(lcm\)是多少;\(num\)表示填到\(pos+1\)位的整个数是多少。然后在\(pos=0\)时判断\(lcm\)是......
  • Fedora 39 修复 libreoffice 启动时报错 undefined symbol: hb_graphite2_face_get_gr
    .....之前Libreoffice是好的,今天打开Excel文档的时候启动画面一闪而过,然后就没有然后了。于是我尝试使用命令来启动,发现报错:>$libreoffice/usr/lib64/libreoffice/program/soffice.bin:symbollookuperror:/usr/lib64/libreoffice/program/libvcllo.so:undefin......
  • CF382B Number Busters 题解
    总共就两种情况。当\(b\geqx\)时,\(b\)要减\(x\),\(c\)要减去一。当\(b\ltx\)时,\(a\)和\(c\)都要减一,\(b=w-x\)。如果\(c>a\),退出循环。每一次循环判断\(b\)跟\(x\)的关系,然后秒数加一。代码:#include<bits/stdc++.h>usingnamespacestd;inta,b,c,w,x;in......
  • [题解]SP10606 Balanced Numbers
    SP10606BalancedNumbers关于优化方式的说明详见数位dp例题及详解-下。SPOJ注册不上所以暂时无法提交w,但是3份代码与正解对拍没有问题。使用\(vis[0\sim9]\)表示\(0\sim9\)的访问情况,\(sta[0\sim9]\)表示\(0\sim9\)填写个数的奇偶性(奇数为\(1\),偶数为\(0\))。暴搜先打出来,......
  • CF244B Undoubtedly Lucky Numbers 题解
    题目简述给定一个$n$,问有多少个小于等于$n$的数只由两个不同的数字$x$和$y$组成。题目分析直接枚举肯定不行,我们考虑枚举$x$和$y$,再利用深搜,生成所有不大于$n$且只由$x$和$y$组成的数字,利用map去重,统计答案即可。代码#include<iostream>#include<map>usi......
  • 基于WebAssembly开发网页端
    基于WebAssembly开发网页端来源  https://zhuanlan.zhihu.com/p/162082688 序言QtforWebAssembly,是Qt在2018年发布的技术,于5.12加入到Qt,官方对此技术介绍如下:https://www.qt.io/blog/2018/05/22/qt-for-webassembly简单的说,这是一个让Qt程序可以直接跑在web中的一个方......