我试图计数的字符串,我已经存储在数组的名称,用户输入通过比较它们,我得到错误,我的代码是
<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;
}
}