数组中的VAR变量

时间:2014-02-15 10:38:41

标签: php arrays variables

$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。我不知道是否应该包含所有代码。如果是这样,请告知。

1 个答案:

答案 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" 
}
相关问题