【问题标题】:Checking string length with strlen使用 strlen 检查字符串长度
【发布时间】:2013-12-17 08:52:55
【问题描述】:

我有这个代码,我希望它检查长度是 NOT 32 还是 40。下面的代码只检查单词的长度是 32 还是 40。

<?
$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';
?>

【问题讨论】:

  • 如果即使在 PHP 中检查整数(如 strlen 中的情况),也不要检查 int 值与它们的 string 等效项,从技术上讲,这是一个逻辑错误,如 @987654325 @ 正在检查字符串值 '32' 而不是整数值 32

标签: php strlen


【解决方案1】:

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

试试看

【讨论】:

  • 为什么要用引号括起来一个整数?
  • 是的,忘了去掉引号 :) .. 本来要提到不要检查上面引号中的整数 :) .. 谢谢你的收获!
【解决方案2】:

怎么样

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

【讨论】:

【解决方案3】:
<?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';
?>

【讨论】:

    猜你喜欢
    • 2013-02-01
    • 2011-05-08
    • 2019-03-11
    • 1970-01-01
    • 2015-06-23
    • 2016-01-01
    • 2013-12-09
    • 2015-03-16
    • 2012-06-18
    相关资源
    最近更新 更多