$query = mysql_query("SELECT * FROM USER_TABLE where `user` = 'user_name'");
$result = mysql_fetch_array($query);
$user = $result['user'];
$password = $result['password'];
class SimpleAuth
{
// The users List ('Login' => 'Password')
var $users = array(
'user1' => 'password1', // want to replace it with variables $user and $password
'user2' => 'password2', // User 2
'user3' => 'password3', // User 3
);
................
}
我正在努力学习如何使用变量$ user和$ password以及将mysql查询放在何处以便将值传递给这两个变量。
编辑:我想用变量替换'user1'和'password1'(即$ user,$ password)。在此之前,我会运行一个mysql查询来从数据库中获取$ user和$ password。一旦我将其改为
$user => $passwords,
我收到了以下错误
错误:解析错误:语法错误,意外'$ user'(T_VARIABLE), 期待')'
有人可以帮忙吗?很多人都提前感谢!
P.S。我不知道是否应该包含所有代码。如果是这样,请告知。
答案 0 :(得分:2)
请将代码更改为:
class SimpleAuth
{
// The users List ('Login' => 'Password')
// public , private , protected
// don't use keyword "var"
public $users_1 = array(
$user => $password, // User 1
'user2' => 'password2', // User 2
'user3' => 'password3' // User 3
);
//for define variable from value variable : this code
public $users_2 = array(
${$user} => ${$password}, // User 1
'user2' => 'password2', // User 2
'user3' => 'password3' // User 3
);
}
................ 代码结束或数组结束删除“,”并删除此添加:)
示例:
<?php
$k1 = "k1";
$v1 = "v1";
$arr_1 = array(
${$k1} => ${$v1},
"k2" => "v2",
"k3" => "v3"
);
//or
$arr_2 = array(
$k1 => $v1,
"k2" => "v2",
"k3" => "v3"
);
var_dump($arr_1);
var_dump($arr_2);
?>
结果:
//$arr_1
array(3) {
["k1"]=> string(2) "v1"
["k2"]=> string(2) "v2"
["k3"]=> string(2) "v3"
}
//$arr_2
array(3) {
["k1"]=> string(2) "v1"
["k2"]=> string(2) "v2"
["k3"]=> string(2) "v3"
}