書籍やWebで、連想配列を名前だけ(空の値)で適切に初期化する方法を説明する例は見つかりません。もちろん、このIS適切な方法(?)
これを行う別のより効率的な方法があるかのように感じます。
config.php
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
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.
推奨事項、提案、または方向性は高く評価されます。ありがとう。
あなたが持っているのは最も明確な選択肢です。
ただし、次のように array_fill_keys を使用して短縮できます。
$database = array_fill_keys(
array('dbdriver', 'dbhost', 'dbname', 'dbuser', 'dbpass'), '');
ただし、ユーザーが値を入力する必要がある場合は、配列を空のままにして、index.phpでサンプルコードを提供するだけです。値を割り当てると、キーが自動的に追加されます。
最初のファイル:
class config {
public static $database = array();
}
その他のファイル:
config::$database = array(
'driver' => 'mysql',
'dbhost' => 'localhost',
'dbname' => 'test_database',
'dbuser' => 'testing',
'dbpass' => 'P@$$w0rd'
);