成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

php如何計(jì)算字符串占多少字節(jié)

這篇文章主要介紹“php如何計(jì)算字符串占多少字節(jié)”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“php如何計(jì)算字符串占多少字節(jié)”文章能幫助大家解決問題。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供肅南裕固族自治企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站建設(shè)、H5建站、小程序制作等業(yè)務(wù)。10年已為肅南裕固族自治眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

在php中,可以利用strlen()函數(shù)來計(jì)算字符串的字節(jié)數(shù)。該函數(shù)是按字節(jié)來計(jì)算字符串長度的,可以統(tǒng)計(jì)字符串所占的字符長度(字節(jié)數(shù)),語法“strlen(字符串)”。在該函數(shù)的計(jì)算中,英文逗號、數(shù)字、英文字母、小數(shù)點(diǎn)等都只占一個(gè)字節(jié);而一個(gè)GB2312編碼的漢字占兩個(gè)字節(jié),一個(gè)UTF-8編碼的漢字占三個(gè)字節(jié)。

php如何計(jì)算字符串占多少字節(jié)

本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦

php中不同的編碼格式下字符占用的字節(jié)是不同的:

  • ANSI編碼格式下一個(gè)中文字符占2個(gè)字節(jié),一個(gè)英文字符占1個(gè)字節(jié);

  • UTF-8編碼格式下一個(gè)中文字符占3個(gè)字節(jié),一個(gè)英文字符占1個(gè)字節(jié)。

而php中,可以利用strlen()函數(shù)來計(jì)算字符串的字節(jié)數(shù)。

strlen()函數(shù)是按字節(jié)來計(jì)算字符串長度的。

strlen($string)

該函數(shù)只接受一個(gè)參數(shù)$string(要計(jì)算的字符串),如果該參數(shù)傳遞的值為空則返回 0。

strlen()函數(shù)中,(英文狀態(tài)下)逗號、數(shù)字、英文字母、小數(shù)點(diǎn).、下劃線、空格等都只占一個(gè)字符長度(字節(jié))。

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello world!";
echo '字符串 “'.$str.'” 占:'.strlen($str).' 個(gè)字節(jié)<br>';
?>

php如何計(jì)算字符串占多少字節(jié)

分析:上例的字符串中,有10個(gè)英文字母,一個(gè)空格、一個(gè)英文感嘆號;合計(jì):12個(gè)個(gè)字節(jié)。

strlen()函數(shù)中,一個(gè) GB2312 編碼的漢字占兩個(gè)字符長度(字節(jié)),一個(gè) UTF-8 編碼的漢字占三個(gè)字符長度(字節(jié))。

<?php
header("Content-type:text/html;charset=utf-8");
$str = "!";
echo '字符串 “'.$str.'” 占:'.strlen($str).' 個(gè)字節(jié)<br>';
?>

php如何計(jì)算字符串占多少字節(jié)

上例中,"!"是中文感嘆號,因此占三個(gè)字節(jié)。

<?php
header("Content-type:text/html;charset=utf-8");
$str = "歡迎";
echo '字符串 “'.$str.'” 占:'.strlen($str).' 個(gè)字節(jié)<br>';
?>

php如何計(jì)算字符串占多少字節(jié)

上例中,包含兩個(gè)漢字,因此占6個(gè)字節(jié)。

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello,歡迎來到這里!";
echo '字符串 “'.$str.'” 占:'.strlen($str).' 個(gè)字節(jié)<br>';
?>

php如何計(jì)算字符串占多少字節(jié)

上例中,包含5個(gè)英文字符,6個(gè)漢字,一個(gè)中文感嘆號和一個(gè)中文逗號;因此占5+(8*3)=29個(gè)字節(jié)。

說明:在計(jì)算字符串的字符個(gè)數(shù)時(shí),strlen()函數(shù)只能處理英文字符串,對中文或中英混合字符串不友好。此時(shí),就需要利用

mb_strlen()函數(shù)了,該函數(shù)可以按字符來計(jì)算字符串長度的。

擴(kuò)展知識:mb_strlen() 函數(shù)

mb_strlen() 函數(shù)同樣可以返回字符串的長度,語法格式如下:

mb_strlen($str [, $encoding = mb_internal_encoding()])
  • $str 為需要計(jì)算長度的字符串

  • $encoding 是可選參數(shù),為字符編碼,如果省略則使用內(nèi)部字符編碼。

mb_strlen() 函數(shù)的返回值為具有 $encoding 編碼的字符串 $str 所包含的字符數(shù),如果 $encoding 無效則返回 false。

注意:與 strlen() 函數(shù)不同,在 mb_strlen() 函數(shù)中,無論是漢字,還是英文、數(shù)字、小數(shù)點(diǎn)、下劃線和空格,都只占一個(gè)字符長度。

【示例】 使用 mb_strlen() 函數(shù)獲取字符串長度。

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello 你好!";
echo '字符串 “'.$str.'” 的長度為:'.mb_strlen($str,"utf-8").'<br>';

$str = "歡迎來到創(chuàng)新互聯(lián)!";
echo '<br>字符串 “'.$str.'” 的長度為:'.mb_strlen($str,'utf-8').'<br>';
?>

php如何計(jì)算字符串占多少字節(jié)

可以看出,我們可以通過設(shè)置對應(yīng)的$encoding參數(shù),就能很好的處理中文字符串的長度問題。

關(guān)于“php如何計(jì)算字符串占多少字節(jié)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識點(diǎn)。

本文名稱:php如何計(jì)算字符串占多少字節(jié)
轉(zhuǎn)載注明:http://jinyejixie.com/article40/joheeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、企業(yè)建站品牌網(wǎng)站建設(shè)、網(wǎng)站制作App開發(fā)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
渭源县| 阿鲁科尔沁旗| 岳池县| 广宗县| 密山市| 梁山县| 沛县| 通河县| 武安市| 广宗县| 凤翔县| 开平市| 吴江市| 堆龙德庆县| 堆龙德庆县| 金川县| 环江| 玉山县| 巴塘县| 原平市| 分宜县| 江川县| 舟曲县| 论坛| 达拉特旗| 桂东县| 乳山市| 老河口市| 新丰县| 安宁市| 潮州市| 芦溪县| 偏关县| 富蕴县| 师宗县| 湘潭县| 慈溪市| 阿拉尔市| 宁强县| 神农架林区| 镇巴县|