Инициализировать ассоциативный массив с именами ключей, но пустыми значениями
Я не могу найти каких-либо примеров, в книгах или в интернете, описывающих, как правильно инициализировать массив только по имени (с пустыми значениями) - если, конечно, это правильный путь(?)
просто кажется, что есть еще один более эффективный способ сделать это:
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.
.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.
любые рекомендации, предложения или направления будут оценены. Спасибо.
2 ответа:
что у вас есть наиболее четкий вариант.
но вы можете сократить его с помощью array_fill_keys, например:
$database = array_fill_keys( array('dbdriver', 'dbhost', 'dbname', 'dbuser', 'dbpass'), '');
но если пользователь все равно должен заполнить значения, вы можете просто оставить массив пустым и просто предоставить пример кода в index.РНР. Ключи будут автоматически добавлены при присвоении значения.