導航:首頁 > 編程語言 > php中判斷字元串長度

php中判斷字元串長度

發布時間:2022-11-17 04:42:53

A. php,一個簡單的問題,判斷變數字元長度和類型的格式

strlen PHP 內置函數 獲取 字元串長度
$alen=strlen($a);

if($alen>6 && $alen<12){
echo '我是6-12之間的字元串';

}else{
echo '我不是6-152之間的字元串';

}

判斷數字 可以用PHP 內置函數 is_numeric
if(is_numeric($a)){
echo '是數字';

}else{
echo '不是數字';

}

B. php字元串長度判斷出問題,希望大神幫忙看下!

就你這代碼而言,$unfold和$close確實會同時輸出啊。

$conditions_a = " 」. $unfold.「 」. $close.「 「;//這里的代碼太長了我就沒貼出來
$conditions_b= " 」. $unfold.「 」. $close.「 「;//這里的代碼太長了我就沒貼出來

把代碼發完整點。

C. PHP獲取中英混合字元串長度的方法

今晚在寫框架的表單驗證類時,需要判斷某個字元串長度是否在指定區間內,很自然地,想到了PHP中的strlen函數。
.代碼如下:
$str
=
'Hello
world!';
echo
strlen($str); //
輸出12
然而在PHP自帶的函數中,strlen及mb_strlen都是通過計算字元串所佔位元組數來計算長度的,在不同的編碼情況下,中文所佔的位元組數是不同的。在GBK/GB2312下,中文字元佔2個位元組,而在UTF-8下,中文字元佔3個位元組。
.代碼如下:
$str
=
'你好,世界!';
echo
strlen($str); //
GBK或GB2312下輸出12,UTF-8下輸出18
而我們在判斷字元串長度時往往需要判斷的是字元的數量,而非字元串所佔位元組數,如在UTF-8下的這段PHP代碼:
.代碼如下:
$name
=
'張耕暢';
$len
=
strlen($name);
//
輸出
FALSE,因為在UTF-8下三個中文佔9個位元組
if($len
>=
3
&&
$len
<=
8){
echo
'TRUE';
}else{
echo
'FALSE';
}
那麼有什麼方便而實用的方法可以獲得含中文字元串的長度呢?可以用正則計算出中文字元的個數,在GBK/GB2312編碼下除以2,UTF-8編碼下則除以3,最後再加上非中文字元串的長度,但這樣未免太過麻煩。

WordPress這么一段代碼,借鑒如下:
.代碼如下:
$str
=
'Hello,世界!';
preg_match_all('/./us',
$str,
$match);
echo
count($match[0]); //
輸出9
思想是用正則表達式將字元串分割成單個字元,並直接用count計算出匹配到的字元數,便是我們想要的結果了。

但以上代碼在UTF-8編碼下並不能處理GBK/GB2312的中文字元串,因為GBK/GB2312的中文字元會被識別為兩個字元而計算出來的中文字元數量會翻倍,於是我想到了這么一個辦法:
.代碼如下:
$tmp
=
@iconv('gbk',
'utf-8',
$str);
if(!empty($tmp)){
$str
=
$tmp;
}
preg_match_all('/./us',
$str,
$match);
echo
count($match[0]);
可兼容GBK/GB2312及UTF-8編碼,經小量數據測試通過,但暫未確定是否完全正確,盼有大牛指點一二。

以上本意是為了框架可以兼容多種編碼格式,但一般在日常開發中,一個項目是已經可以確定為何種編碼的,因此可以使用以下函數來方便地獲取字元串長度:
.代碼如下:
int
iconv_strlen
(
string
$str
[,
string
$charset
=
ini_get("iconv.internal_encoding")
]
)

D. php字元串長度如何計算

說明
strlen ( string $string ) : int
返回給定的字元串 string 的長度。
參數
string
需要計算長度的字元串。
返回值
成功則返回字元串 string 的長度;如果 string 為空,則返回 0。
更新日誌
版本 說明
5.3.0 Prior versions treated arrays as the string Array, thus returning a string length of 5 and emitting an E_NOTICE level error.
範例
Example #1 strlen() 範例

E. php 如果判斷TEXT輸入框裡面的字元串為10位

在php中判斷是:
$len = strlen($_POST['usernsme']);
if($len==10){
echo "長度為:10";
}

javascript中判斷:
var user_name =document.getElementById("username");
var len = user_name.length;
if(len ==10){
alert('長度為10');
}

希望採納為最佳

F. PHP如何判斷兩個字元串長度和其中一個字元串的值

<form method="post">
賬號:<input type="text" name="account" /><br />
密碼:<input type="password" name="pwd" /><br />
<input type="submit" value="判斷" />

</form>
<?php
if(!empty($_POST['account'])){
$acc=$_POST['account'];
$pwd=$_POST['pwd'];
$acc_len=strlen($acc);
$pwd_len=strlen($pwd);
if(is_numeric($pwd)){
if($acc_len==12 && $pwd_len==12){
if($pwd>1000){
echo '正確!';
}
}
}else{
echo '錯誤!';
}
}
?>

G. 用PHP統計字元串長度

PHP 計算字元串長度代碼示例如下,具體邏輯在代碼中。

<?php
//統計字元串長度,適用中文,字母,數字混編
functionget_strlength($str){
//強字元串統一轉換為utf-8格式
$encode=mb_detect_encoding($str,array('ASCII','UTF-8','GB2312','GBK'));
if(!$encode=='UTF-8'){
$str=iconv('UTF-8',$encode,$str);
}
//初始化字元串長度
$count=0;

//循環統計
for($i=0;$i<strlen($str);$i++){
//獲取字元串首字母對應的ASCII值
$value=ord($str[$i]);

if($value>127){
$count++;
if($value>=192&&$value<=223){
$i++;
}elseif($value>=224&&$value<=239){
$i=$i+2;
}elseif($value>=240&&$value<=247){
$i=$i+3;
}else{
die('字元串異常!!');
}
}
$count++;
}
return$count;
}

//測試
echoget_strlength("中國人2015年的gdp為:6666");
//25
?>

H. 判斷是否為指定長度內字元串的php函數

復制代碼
代碼如下:
//———————————————————————————–
//
函數名:CheckLengthBetween($C_char,
$I_len1,
$I_len2=100)
//

用:判斷是否為指定長度內字元串
//

數:$C_char(待檢測的字元串)
//
$I_len1
(目標字元串長度的下限)
//
$I_len2
(目標字元串長度的上限)
//
返回值:布爾值
//

註:無
//———————————————————————————–
function
CheckLengthBetween($C_cahr,
$I_len1,
$I_len2=100)
{
$C_cahr
=
trim($C_cahr);
if
(strlen($C_cahr)
<
$I_len1)
return
false;
if
(strlen($C_cahr)
>
$I_len2)
return
false;
return
true;
}
//———————————————————————————–

I. php哪個函數能取得字元串長度

PHP對中文字元串的處理一直困擾於剛剛接觸PHP開發的新手程序員。下面簡要的剖析一下PHP對中文字元串長度的處理:

PHP自帶的函數如strlen()、mb_strlen()都是通過計算字元串所佔位元組數來統計字元串長度的,一個英文字元佔1位元組。例:

$enStr = 『Hello,China!』;
echo strlen($enStr); // 輸出:12

而中文則不然,做中文網站一般會選擇兩種編碼:gbk/gb2312或是utf-8。utf-8能兼容更多的字元,所以受到很多站長的喜愛。gbk與utf-8對中文的編碼不同,導致中文在gbk與utf-8編碼下所佔位元組也有差異。

gbk編碼下每個中文字元所佔位元組為2,例:

$zhStr = 『您好,中國!』;
echo strlen($zhStr); // 輸出:12

utf-8編碼下每個中文字元所佔位元組為3,例:

$zhStr = 『您好,中國!』;
echo strlen($zhStr); // 輸出:18

那麼如何計算這組中文字元串的長度呢?有人可能會說gbk下獲取中文字元串長度除以2,utf-8編碼下除以3不就行了嗎?但是您要考慮字元串並不老實,99%的情況會以中英混合的情況出現。

這是WordPress中的一段代碼,主要思想就是先用正則將字元串分解為個體單元,然後再計算單元的個數即字元串的長度,代碼如下(只能處理utf-8編碼下的字元串):

$zhStr = 『您好,中國!』;
$str = 『Hello,中國!』;

// 計算中文字元串長度
function utf8_strlen($string = null) {
// 將字元串分解為單元
preg_match_all(「/./us」, $string, $match);
// 返回單元個數
return count($match[0]);
}

echo utf8_strlen($zhStr); // 輸出:6
echo utf8_strlen($str); // 輸出:9 收起

J. php判斷字元串長度問題

if(!preg_match("/.{2,30}/",$City)){
exit("請選擇城市!");
}

這個是正則表達式的寫法,不懂的話建議你學習下正則表達式,開發實用性很高


前後/ 是起始結束符號

. 代表任意字元

{2,30} 前一個內容2次 ~ 30次

閱讀全文

與php中判斷字元串長度相關的資料

熱點內容
網盤忘記解壓碼怎麼辦 瀏覽:852
文件加密看不到裡面的內容 瀏覽:651
程序員腦子里都想什麼 瀏覽:430
oppp手機信任app在哪裡設置 瀏覽:185
java地址重定向 瀏覽:268
一年級下冊摘蘋果的演算法是怎樣的 瀏覽:448
程序員出軌電視劇 瀏覽:88
伺服器系統地址怎麼查 瀏覽:54
解壓游戲發行官 瀏覽:601
國外小伙解壓實驗 瀏覽:336
頂級大學開設加密貨幣 瀏覽:437
java重載與多態 瀏覽:528
騰訊應屆程序員 瀏覽:942
一鍵編譯程序 瀏覽:129
語音加密包哪個好 瀏覽:340
有什麼學習高中語文的app 瀏覽:283
安卓手機的表格里怎麼打勾 瀏覽:411
阿里雲伺服器有網路安全服務嗎 瀏覽:970
超解壓兔子視頻 瀏覽:24
單片機怎麼測負脈沖 瀏覽:176