2013-12-17 177 views
-7

我有這段代碼,我希望它檢查長度是否爲不是 32或40.下面的代碼只檢查字長度是32還是40。使用strlen檢查字符串長度

<? 
$name = mysql_real_escape_string($_POST['dgt']); 
$len = strlen($name); 
if (!($len == "32" or $len == "40")){ 
print "This is not a name."; 
} else { 
echo 'This is a name'; 
?> 
+0

如果檢查一個整數(如在'strlen'的情況下),甚至在PHP中,不要」檢查'int'值與它們的'string'等價物,技術上這是一個邏輯錯誤,因爲''32''正在檢查字符串值'32'而不是int埃格爾值32 – txtechhelp

回答

4

if ($len != 32 && $len != 40)

嘗試了這一點

+0

你爲什麼用引號包裝整數? – Ryan

+0

是啊,忘了脫掉引號:) ..要提到不要檢查上面的引號中的整數:) ..謝謝你的收穫! – txtechhelp

+0

只是指出來 - 不用擔心 – Ryan

0

什麼

if($len != 32 and $len != 40) 
+0

它是一個有效的邏輯運算符:http://www.php.net/manual/en/language.operators.logical.php –

+0

@RUJordan - '和'是PHP中的有效條件語句。 「或」也是。 – Ryan

+0

你測試字符串!? 'int strlen(string $ string)' 改爲測試整數... – ChoiZ

0
<?php 
$name = mysql_real_escape_string($_POST['dgt']); 
$len = strlen($name); 
if ($len != 32 && $len != 40){ 
print "This is not a name."; 
} else { 
echo 'This is a name'; 
?> 
相關問題