Php 检查数组键和数组值

Php 检查数组键和数组值,php,arrays,Php,Arrays,我想建立一个登录系统,但在本例中,我想创建一个数组作为用户名和密码 <?php $users = array( "user1" => "pass" , "user2" => "2" , "user3" => "pass3d" ); if ( isset($_POST['sb']) ) { $username = $_POST['user']; $password = $_POST['pass']; /* foreach ($users as $user =>

我想建立一个登录系统,但在本例中,我想创建一个数组作为用户名和密码

<?php
$users = array(
"user1" => "pass" ,
"user2" => "2" ,
"user3" => "pass3d" 

);

if ( isset($_POST['sb']) ) {

$username = $_POST['user'];
$password = $_POST['pass'];
/*
foreach ($users as $user => $pass ) {

    if ( $username == $user && $password == $pass ) {
        echo 'login';
        header("Location: ?page=admin");
    }
        else {
        echo 'failed';
        $_SESSION = array();
        header("Location: ?dologin");

    }   

}
*/
?>

正如你们所看到的,我并没有使用数据库,我在数组中创建了用户名和密码,我需要检查它是否登录

用foreach做这件事不是个好主意

它与foreach一起工作,但如果登录失败,我想销毁会话,所以如果用户输入第三个密钥和值,sesseion将被销毁

我试图在数组中使用
,但我做不到


比较用户名和密码的最佳方法是什么?首先,我不会以明文形式保存这些密码。 循环可能不是最好的方式,我会这样想:

<?php
$array1 = array(
"1" => "Monday",
"2" => "Tuesday",
"3" => "Wednesday"
);
?>
<?php
$var1 = $_POST['index'];
$var2 = $_POST['day'];

if (array_key_exists($var1, $array1))//if key exists in the array
    {
        if ($var2 == $array1[$var1])//if the day matches the value of the key in the array
            {
               //Do something
            }
    }
 ?>
参考: