在数组中使用变量

时间:2013-07-02 15:16:37

标签: php arrays variables

有人可以帮助我如何将数组的值更改为变量吗?

我想改变一下:

class SimpleAuth
{
var $users = array(
    'admin1' => 'password1',  //
    'admin2' => 'password2',  // User 2
    'admin3' => 'password3',  // User 3
    'admin4' => 'password4',  // User 4
);
}

为:

$user = 'admin'; // value from an include file outside the class declaration
$password = 'password'; // value from an include file outside the class declaration

class SimpleAuth
{
var $users = array(
    $user => $password,       // User 1 // here is the error
    'admin2' => 'password2',  // User 2
    'admin3' => 'password3',  // User 3
    'admin4' => 'password4',  // User 4
);
}

我得到500错误。请帮忙!感谢

3 个答案:

答案 0 :(得分:2)

我刚检查了这段代码:

$user = 'admin';
$password = 'password';

$users = array(
    $user => $password,       // User 1 // here is the error
    'admin2' => 'password2',  // User 2
    'admin3' => 'password3',  // User 3
    'admin4' => 'password4',  // User 4
);

在这个网站上(http://writecodeonline.com/php/)并且很好,删除不需要的“var”。

答案 1 :(得分:1)

你在没有var的情况下寻找这样的东西吗? var用于在php 5之前声明类成员变量。它仍然支持向后兼容性,但它只在类上下文中有意义。

$users = array(
$user => $password,       // User 1 // here is the error
'admin2' => 'password2',  // User 2
'admin3' => 'password3',  // User 3
'admin4' => 'password4',  // User 4

);

更新,在定义类成员时不能使用动态值,因为变量在启动类时没有值。将您的作业移至__construct。在您的情况下,构造与您的类名相同。

function className() {
         $user = 'admin';
$password = 'password';

     $this->users[$user] = $password;
    }

答案 2 :(得分:0)

删除$ users变量实例化前面的'var'