Php $\u post变量foreach循环逻辑问题
如果在数组中找到输入,则此代码应该检查输入,但它没有。它只适用于第一个索引[0]Php $\u post变量foreach循环逻辑问题,php,Php,如果在数组中找到输入,则此代码应该检查输入,但它没有。它只适用于第一个索引[0] <?php $array = array( "joe", "sarah", "jaison", "klai", "hanna" ); if ($_POST){ foreach($array as $value){ echo $value; if($_POST["name"] == $value){ echo
<?php
$array = array(
"joe",
"sarah",
"jaison",
"klai",
"hanna"
);
if ($_POST){
foreach($array as $value){
echo $value;
if($_POST["name"] == $value){
echo "yeb,i know him !";
break;
} else {
echo "i dont know him";
break;
}
}
}
?>
<p>please enter a name</p>
<form method="post">
<input name="name" type="text">
<input type="submit" value="go!">
这里不必使用foreach循环。_数组中有一个函数,用于检查数组中是否存在值。看看这个例子:
$array = array("joe", "sarah", "jaison", "klai", "hanna");
if (isset($_POST['name'])) {
if( in_array ($_POST["name"], $array) ) {
echo "yeb,i know him !";
} else {
echo "i dont know him";
}
}
?>
<p>please enter a name</p>
<form method="post">
<input name="name" type="text">
<input type="submit" value="go!">
</form>
这里不必使用foreach循环。_数组中有一个函数,用于检查数组中是否存在值。看看这个例子:
$array = array("joe", "sarah", "jaison", "klai", "hanna");
if (isset($_POST['name'])) {
if( in_array ($_POST["name"], $array) ) {
echo "yeb,i know him !";
} else {
echo "i dont know him";
}
}
?>
<p>please enter a name</p>
<form method="post">
<input name="name" type="text">
<input type="submit" value="go!">
</form>
1.使用而不是
2.直接检查张贴名称是否为空
3.消除断裂
示例输出:-和1。使用而不是
2.直接检查张贴名称是否为空
3.消除断裂
示例输出:-和您可以对其使用in_数组函数。这样说:
$array=array("joe",
"sarah",
"jaison",
"klai",
"hanna");
if ($_POST){
if(in_array( $_POST["name"], $array )){
echo "yeb,i know him !";
}
else{
echo "i dont know him";
}
}
您可以为它使用in_数组函数。这样说:
$array=array("joe",
"sarah",
"jaison",
"klai",
"hanna");
if ($_POST){
if(in_array( $_POST["name"], $array )){
echo "yeb,i know him !";
}
else{
echo "i dont know him";
}
}
好的代码缩进将帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在几周/几个月内修改此代码,最终您将感谢我。它只适用于第一个索引。。。这就是你告诉它要做的,把中断放在你的循环中。不要使用中断,所以删除中断,你想从你的其他部分删除中断。为什么?正如所有其他人提到的,break在第一次迭代之后就打破了循环。良好的代码缩进将帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在几周/几个月内修改此代码,最终您将感谢我。它只适用于第一个索引。。。这就是你告诉它要做的,把中断放在你的循环中。不要使用中断,所以删除中断,你想从你的其他部分删除中断。为什么?正如所有其他人提到的,break在第一次迭代后立即中断循环。我建议尽可能对in_数组使用严格模式。我建议尽可能对in_数组使用严格模式。我建议尽可能对in_数组使用严格模式。我建议尽可能对in_数组使用严格模式。