0

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

我想从这个改变:

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 错误。请帮忙!谢谢

4

3 回答 3

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”。

于 2013-07-02T15:20:52.213 回答
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;
    }
于 2013-07-02T15:20:09.867 回答
0

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

于 2013-07-02T15:19:51.243 回答