PHP in_array问题

时间:2014-01-13 12:50:01

标签: php html

所以即时搞乱了一些php并且出于某种原因in_array()如果​​某些东西在数组内正确无法拾取?

的index.php:

<form action="login.php" method="get">
    <input name="username" type="text" />
    <input name="password" type="password" />
    <input id="submit" type="submit" />
</form>

的login.php:

    <?php
    $username = $_GET["username"];
    $password = $_GET["password"];
        include('data/user_data.php');
        if(in_array($username, $users)):
            echo "in array";
        else: echo "not in array";
        endif;

?>

user_data.php:

<?php $users = array(
dextermb => array("dextermb", "password"),
tonymb => array("tonymb", "password2")
)
?>

当输入“dextermb”或“tonymb”到用户名并提交时,我得到结果“不在数组中”,即使它在数组中?

关于可能出现什么问题的想法?

2 个答案:

答案 0 :(得分:4)

如果这是您的用户数组:

$users = array(
    'dextermb' => array("dextermb", "password"),
    'tonymb' => array("tonymb", "password2")
);

然后你想简单地做:

if(isset($users[$username])) {

或者:

if(array_key_exists($username, $users)) {

用户名是$users数组中的键,in_array方法查找值(而不是嵌套值)。

答案 1 :(得分:0)

简单您可以使用php内置功能

     if(array_key_exists($username, $users)){
     echo "in array";
     }else{
          echo "not in array";
     }