首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用键名但空值初始化关联数组

使用键名但空值初始化关联数组
EN

Stack Overflow用户
提问于 2012-10-14 14:58:45
回答 2查看 63.3K关注 0票数 57

我找不到任何示例,无论是在书中还是在web上,都无法描述如何仅通过名称(具有空值)正确地初始化关联数组-当然,除非这是正确的方式(?)

只是感觉好像有另一种更有效的方法来做到这一点:

config.php

代码语言:javascript
复制
class config {
    public static $database = array (
        'dbdriver' => '',
        'dbhost' => '',
        'dbname' => '',
        'dbuser' => '',
        'dbpass' => ''
    );
}

// Is this the right way to initialize an Associative Array with blank values?
// I know it works fine, but it just seems ... longer than necessary.

index.php

代码语言:javascript
复制
require config.php

config::$database['dbdriver'] = 'mysql';
config::$database['dbhost'] = 'localhost';
config::$database['dbname'] = 'test_database';
config::$database['dbuser'] = 'testing';
config::$database['dbpass'] = 'P@$$w0rd';

// This code is irrelevant, only to show that the above array NEEDS to have Key
// names, but Values that will be filled in by a user via a form, or whatever.

任何建议,建议,或方向,我们将不胜感激。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-14 15:12:21

你所拥有的是最清晰的选择。

但您可以使用array_fill_keys将其缩短,如下所示:

代码语言:javascript
复制
$database = array_fill_keys(
  array('dbdriver', 'dbhost', 'dbname', 'dbuser', 'dbpass'), '');

但是,如果用户无论如何都要填充值,您可以将数组保留为空,并使用index.php提供示例代码。当您赋值时,将自动添加密钥。

票数 57
EN

Stack Overflow用户

发布于 2012-10-14 15:13:47

第一个文件:

代码语言:javascript
复制
class config {
    public static $database = array();
}

其他文件:

代码语言:javascript
复制
config::$database = array(
    'driver' => 'mysql',
    'dbhost' => 'localhost',
    'dbname' => 'test_database',
    'dbuser' => 'testing',
    'dbpass' => 'P@$$w0rd'
);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12880026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档