`
再逢山水
  • 浏览: 157028 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

PHP计算字符串长度

    博客分类:
  • LAMP
阅读更多
PHP计算字符串长度,包括计算英文、GBK、UTF-8多种字符集下PHP如何计算字符串长度。英文字符串长度  
strlen()是PHP自带的计算英文字符串的函数。  
 
GBK字符串长度  
中文字符计算为2个字符,英文字符计算为1个,可以统计中文字符串长度的函数。
function abslength($str){   
$len=strlen($str);   
$i=0;   
while($i<$len)   
{   
       if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str[$i]))   
       {   
         $i+=2;   
       }   
       else  
       {   
         $i+=1;   
       }   
}   
return $i;   
}  
 


UTF8字符串长度  
下面定义的strlen_utf8函数可以统计UTF-8字符串的长度,但不同的是,该函数并不考虑字节,这有些类似 Javascript 中字符串的length方法,一个字符全部按 1 个长度计算

<?php 
// 说明:计算 UTF-8 字符串长度(忽略字节的方案)    
function strlen_utf8($str) {   
 $i = 0;   
 $count = 0;   
 $len = strlen ($str);   
 while ($i < $len) {   
    $chr = ord ($str[$i]);   
    $count++;   
    $i++;   
    if($i >= $len) break;   
    if($chr & 0x80) {   
       $chr <<= 1;   
       while ($chr & 0x80) {   
         $i++;   
         $chr <<= 1;   
       }   
     }   
  }   
  return $count;   
}   
$str = "www.phpq.net-PHP资讯";   
echo strlen_utf8($str);   
?>  
分享到:
评论

相关推荐

    PHP 计算字符串长度

    在PHP编程语言中,计算字符串长度是一个常见的任务,特别是在处理用户输入、文本处理或数据分析时。`str.php`文件很可能包含一个实现此功能的简单示例。PHP提供了内置的`strlen()`函数,用于获取字符串的长度,即...

    PHP统计字符串长度

    它能够根据指定的字符编码(默认为UTF-8)正确计算字符串长度: ```php mb_internal_encoding('UTF-8'); echo mb_strlen("你好,世界"); // 输出:7 ``` `mb_strlen()`函数会按照指定的字符集计算字符串的长度,...

    PHP字符串长度计算 - strlen()函数使用介绍

    其中一个常用的函数是`strlen()`,它用于计算字符串的长度。`strlen()`函数返回的是字符串占用的字节长度,而不是字符数。这是因为不同字符集中的字符可能占据不同的字节数。例如,英文字符、数字和大多数特殊符号...

    解决PHP字符串长度不一致的问题

    首先,要理解字符串长度计算问题常常出现在字符编码转换的场景中。在不同的编码格式下,同一个字符所占用的字节可能会不同。比如,UTF-8编码方式下,中文字符往往占用3个字节,而在GB2312或其他双字节编码中,可能只...

    利用PHP函数计算中英文字符串长度的方法

    在编写PHP程序时,经常需要...通过以上介绍,相信读者已经掌握了使用PHP函数和正则表达式计算中英文字符串长度的方法,并可以根据自己的实际情况选择最适合的方法。希望本文提供的信息能对读者的PHP开发工作提供帮助。

    PHP程序设计-3期(KC016) 2.8.1字符串长度 常见问题.docx

    这里,`'UTF-8'`参数告诉`mb_strlen()`使用UTF-8编码来计算字符串长度,确保了计算的准确性。 总结一下,理解和正确使用`strlen()`与`mb_strlen()`是PHP编程中必不可少的技能。`strlen()`适用于简单的ASCII字符串,...

    PHP程序设计-3期(KC016) 2.8.1字符串长度 拓展知识.doc

    首先,`strlen()`函数是PHP内建的用于计算字符串长度的函数,它返回字符串的字节数。然而,当涉及到非ASCII字符,如中文字符时,`strlen()`可能会出现问题。这是因为一个中文字符通常由多个字节组成,而非单个字节。...

    PHP字符串长度计算 – strlen()函数使用介绍

    PHP提供了两种主要的函数来进行字符串长度计算:`strlen()` 和 `mb_strlen()`。 首先,`strlen()` 函数是最基本的字符串长度计算函数,其函数原型为 `int strlen(string string_input);`。这个函数返回字符串占用的...

    php字符串操作全实例心得

    36. strlen: 取得字符串长度 strlen 函数取得字符串的长度,以便于字符串处理操作。 37. strrpos: 寻找字符串中某字符最后出现处 strrpos 函数寻找字符串中某字符最后出现处,以便于字符串搜索和比较。 38. ...

    php截断字符串优化函数 php截断字符串优化函数

    一个常见的优化策略是在截断之前检查字符串长度,如果字符串长度小于设定值,就直接返回,避免不必要的计算。 5. **添加省略号:**通常在截断字符串后,我们会在末尾添加省略号以表示内容被截断。这可以通过在截断...

    PHP中字符串长度的截取用法示例

    在PHP中,字符串长度的截取是一个常见的操作,特别是在处理用户输入或展示文本时。本文将深入探讨如何在PHP中进行字符串截取,并重点关注`mb_substr`函数在处理多字节字符(如中文字符)时的用法。 首先,我们需要...

    PHP字符串处理讲述了很多关于字符串的常用用法

    `strlen()`函数用于计算字符串的长度,这对于控制循环次数或者其他需要知道字符串长度的场景非常重要。例如: ```php $str = "Hello World!"; echo strlen($str); // 输出:12 ``` 这段代码计算了字符串“Hello ...

    php中计算中文字符串长度、截取中文字符串的函数代码

    `abslength`函数是用于计算中文字符串长度的一个示例。这个函数接受两个参数:要计算的字符串和一个可选的类型参数。默认情况下,一个中文字符被视为一个字符。如果`mb_strlen`函数存在,它将被用来计算长度;否则,...

    判断是否为指定长度内字符串的php函数

    但对于包含多字节字符的字符串,如中文、日文等,应使用`mb_strlen`来确保正确计算字符串长度。 **优化与注意事项** 虽然`CheckLengthBetween`函数简单易用,但在处理大量字符串时,你可能需要考虑效率。在某些...

    php字符串函数分类

    **功能描述:** 计算字符串中某子串出现的次数。 **示例代码:** ```php $haystack = "hello world, hello again"; $needle = "hello"; echo substr_count($haystack, $needle); // 输出 2 ``` ##### `mb_strlen` ...

    php比较两个字符串长度的方法

    值得注意的是,strlen函数计算字符串长度时,将每个字符都视为一个单位,因此对中文字符和其他多字节字符,strlen同样返回1,这是因为PHP默认使用的是字节长度,而非实际的字符数,除非在多字节字符串函数环境下,如...

    PHP程序设计-3期(KC016) 2.8.1字符串长度习题.doc

    1. `strlen()`函数是PHP内置的函数,用于计算字符串的长度,返回的是字符串中的字节数。在英文字符集中,每个字符占用一个字节,因此`strlen()`返回的就是字符个数。但在UTF-8编码中,中文字符通常占用三个或四个...

    PHP获取中英混合字符串长度的方法

    PHP内置的`strlen()`函数默认是基于字节数计算字符串长度的,这意味着它不能准确地反映出含有中文字符的字符串的实际字符数。这是因为中文字符在不同编码格式下占用的字节数不同。例如,在GBK/GB2312编码中,每个...

Global site tag (gtag.js) - Google Analytics