所以即时搞乱了一些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”到用户名并提交时,我得到结果“不在数组中”,即使它在数组中?
关于可能出现什么问题的想法?
答案 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";
}