有人可以帮助我如何将数组的值更改为变量吗?
我想改变一下:
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错误。请帮忙!感谢
答案 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'