php - 在 php 中以字节为单位测量字符串大小

标签 php string string-length

我正在为一个门户做一个房地产提要,它告诉我一个字符串的最大长度应该是 20,000 字节 (20kb),但我以前从未遇到过这种情况。

如何测量 varchar stringbyte 大小。所以我可以做一个 while 循环来减少它。

最佳答案

您可以使用 mb_strlen() 来获取字节长度,使用只有字节字符的编码,而不用担心多字节或单字节字符串。 例如,正如 drake127 在 mb_strlen 的评论中所说,您可以使用 '8bit' 编码:

<?php
    $string = 'Cién cañones por banda';
    echo mb_strlen($string, '8bit');
?>

使用 strlen 函数可能会遇到问题,因为 php 可以选择重载 strlen 以实际调用 mb_strlen。在 http://php.net/manual/en/mbstring.overload.php 中查看有关它的更多信息

要按字节长度修剪字符串而不在多字节字符中间拆分,您可以使用:

mb_strcut(string $str, int $start [, int $length [, string $encoding ]] )

关于php - 在 php 中以字节为单位测量字符串大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568949/

相关文章:

c# - (Asp.Net MVC3) 如何为ASCII 和Unicode 定义StringLength?

php - Yii2 模块中的路由定义

javascript - 检测所选文本是否跨越整行或多行

python - 在 python 字典中打印值时的间距

python - 在大字符串中查找重复的子字符串

arrays - 当数组长度不为空时转到 “panic: runtime error: index out of range”

c - 如果 'strlen()' 本身返回字符串的长度,为什么我们要使用 'printf()' 呢?

php - php 中的推荐 URL

php - 如何将 UTF-8 格式的 mysql 结果回显到我的页面中

javascript - 在 PHP 中使用定义的 jQuery 变量