如何解决如果条件内部foreach循环 [英] how to resolve if condition inside foreach loop
本文介绍了如何解决如果条件内部foreach循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<?php
$login_info = array('batman'=>'404','superman'=>'502');
$form_usr = "$_POST[usr]";
$form_pass = "$_POST[pass]";
$form_submit = "$_POST[submit]";
if ( isset($form_submit) ) {
foreach ( $login_info as $user => $pass ) {
if ($form_usr == $user && $form_pass == $pass) {
echo "Successfully logged in !";
}
else {
echo "bad username or password !";
}
}
}?>
我得到错误的用户名或密码! / code>和
成功登录!错误的用户名或密码!
我该如何解决这个问题?我试图显示成功登录!
条件为真时else 用户名或密码错误!
I'm getting bad username or password !bad username or password !
and Successfully logged in !bad username or password !
How can i solve this? I'm trying to show up Successfully logged in !
when condition is true else bad username or password !
以下是截图: https://我.stack.imgur.com / rmTiG.png
推荐答案
您可以完全避免循环,而只需
You can avoid the loop altogether, instead just check your variables exist in the array.
<?php
$login_info = array('batman'=>'404','superman'=>'502');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$user = isset($_POST['usr']) ? $_POST['usr'] : null;
$pass = isset($_POST['pass']) ? $_POST['pass'] : null;
if (isset($login_info[$user]) && $login_info[$user] == $pass) {
echo "Successfully logged in !";
} else {
echo "bad username or password !";
}
}
?>
这篇关于如何解决如果条件内部foreach循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文