我正在尝试将我存储在数组中的字符串计数到用户输入的名称,通过比较它我得到的错误我的代码是
<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
答案 0 :(得分:0)
更容易的事情
<?php
$wc=0;
$m=array("kill","lop");
$name = isset($_POST['fname'])?$_POST['fname']:'';
if (in_array($name, $m))
{
$wc=$wc+1;
}
echo $wc;
?>
答案 1 :(得分:0)
如果您想检查用户输入的内容是否在您的阵列中:
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;
}
}
答案 2 :(得分:0)
您有错误,因为在您的if i
不是变量需要$i
!
if($m[i]==$name)
替换:
if($m[$i]==$name)