如何在PHP中设置数组内的变量

时间:2014-09-13 18:42:00

标签: php

我正在尝试从包含的文件中保存一些数据:

class DATABASE_CONFIG {


    public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'myserver',
        'login' => 'uname',
        'password' => $mysecretpwd,
        'database' => 'dbname',
        'prefix' => '',
        //'encoding' => 'utf8',
    );

但是这引发了这个错误:

Error: syntax error, unexpected '$mysecretpwd' (T_VARIABLE) 

请帮忙。

2 个答案:

答案 0 :(得分:3)

您不能在类成员变量的定义中指定变量。你必须在构造函数中执行此操作。要访问变量,您应该将其声明为全局变量。更好 - 你可以将它传递给构造函数

class DATABASE_CONFIG {

    public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'myserver',
        'login' => 'uname',
        'password' => '',
        'database' => 'dbname',
        'prefix' => '',mysecretpwd
        //'encoding' => 'utf8',
    );

    public function __construct() {
       global $mysecretpwd;
       $this->default['password'] = $mysecretpwd;
    }
}

答案 1 :(得分:-1)

看看IdeOne。我试图运行你的代码,它的工作原理。

<?php

$mysecretpwd = 'my super secret password';

$default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => 'myserver',
        'login' => 'uname',
        'password' => $mysecretpwd,
        'database' => 'dbname',
        'prefix' => '',
        //'encoding' => 'utf8',
);

echo $default['password'];

关注link