能否从数组中的值创建PHP关联数组中的项目的值?

问题描述 投票:0回答:1

我有一个config.php作为Web项目的一部分,其中包括多维关联数组。

$config = array(
    "db" => array(
        "server" => "localhost",
        "name" => "mydb",
        "user" => "user",
        "pwd" => "password"
    ),
    "urls" => array(
        "base_url" => "http://localhost/"
    ),
    # Omitted for brevity
);

在“ db”数组下,我想包括一个名为“ dsn”的键,该键将是在​​数组本身内定义的PDO DSN字符串。我设法做到这一点的唯一方法是分别定义它:

$config['db']['dsn'] = 'mysql:host=' . $config['db']['server'] . ';dbname=' .  $config['db']['name'] . ';port=3306';

无论如何,可以在数组本身中定义它,如下所示?

...
"db" => array(
    "server" => "localhost",
    "name" => "mydb",
    "user" => "user",
    "pwd" => "password"
    "dsn" => #(some value here that uses "server" and "name")
),
...
php arrays associative-array php-7
1个回答
0
投票

如果要在更改dsn时更新数组$config,则可以将类与magic methodsArrayAccess接口一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.