2013-12-17 3 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

경우에도 PHP에서 (strlen' '의 경우처럼) 정수를 확인, 돈' '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 -'and'는 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'; 
?>