帮助比较数组与输入的字符串


php-Help in comparing array with string entered

我试图计数的字符串,我已经存储在数组的名称,用户输入通过比较它们,我得到错误,我的代码是

    <html>
    <head>
    <title>Untitled Document</title>
    </head>
    <body>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    Name: <input type="text" name="fname">
    <input type="submit">
    </form>
    <?php 
    $wc=0;
    $m=array("kill","lop");
    $name = $_REQUEST['fname'];
    for($i=0; $i<2; $i++)
    {
    if($m[i]==$name)
    $wc=$wc+1;
    }
    echo $wc; 
    ?>
    </body>
    </html>
    i am getting error undefined i reference please help

更容易的事情是

<?php 
        $wc=0;
        $m=array("kill","lop");
        $name = isset($_POST['fname'])?$_POST['fname']:'';
        if (in_array($name, $m))
        {
            $wc=$wc+1;
        }
        echo $wc; 
    ?>

你有错误,因为在你的if块i不是一个变量需要是$i !

if($m[i]==$name)

替换:

if($m[$i]==$name)

如果你想检查用户输入的内容是否在数组中:

if (in_array($_REQUEST['fname'], $m)) {
   echo "found";
}
else {
  echo "not found";  
}

for循环的替代用法:

   for ($i=0, $c = count($m); $i<$c; ++$i) {
    if ($m[$i] == $_REQUEST['fname']) {
        echo "found";
        break;
    }
   }