Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php帮助比较数组和输入的字符串_Php - Fatal编程技术网

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

php帮助比较数组和输入的字符串,php,Php,我试图将存储在数组中的字符串与用户输入的名称进行比较,以计算它们的数量。我得到的错误代码是 <html> <head> <title>Untitled Document</title> </head> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">

我试图将存储在数组中的字符串与用户输入的名称进行比较,以计算它们的数量。我得到的错误代码是

    <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 (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;
    }
   } 

您有错误,因为在if块中,i不是变量,需要为$i

替换:

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

如果内置函数已经可用,那么为什么需要将$m[i]中的输入错误或是$i复杂化?你能解释一下,在成员身份中fn可以像python一样用于循环中,你使用$i=0$iYou可以使用上述备选方案中的for循环
if($m[$i]==$name)