Я просто искал то же самое, и я понял, что, опять же, мое мышление отличается, потому что я старая школа. Я возвращаюсь к BASIC и PERL и иногда забываю, как на самом деле все просто в PHP.
Я просто сделал эту функцию, чтобы взять все настройки из базы данных, где их 3 колонки. setkey, item (key) & value (value) и поместите их в массив, называемый settings, используя тот же ключ / value без использования push, как описано выше.
Довольно легко и просто на самом деле
// Получить все настройки
$ Настройки = getGlobalSettings ();
// Применить выбор темы пользователя
$ theme_choice = $ settings ['theme'];
.. и т. д. и т. д. ....
function getGlobalSettings () {
$ dbc = mysqli_connect (wds_db_host, wds_db_user, wds_db_pass) или die ("Ошибка MySQL:". mysqli_error ());
mysqli_select_db ($ dbc, wds_db_name) или die («Ошибка MySQL:». mysqli_error ());
$ MySQL = "SELECT * FROM systemSettings";
$ result = mysqli_query ($ dbc, $ MySQL);
while ($ row = mysqli_fetch_array ($ result))
{
$ settings [$ row ['item']] = $ row ['value']; // НЕ НАДО
}
mysqli_close ($ DBC);
вернуть настройки $;
}
Так как другие посты объясняют ... В php нет необходимости "толкать" массив, когда вы используете
Ключ => Значение
И ... Нет необходимости сначала определять массив.
$ Массива = массив ();
Не нужно определять или толкать. Просто назначьте $ array [$ key] = $ value; Это автоматически push и объявление одновременно.
Я должен добавить, что по соображениям безопасности, (P) или (H) elpless (P), я имею в виду Программирование для чайников, я имею в виду PHP .... хехехе, я предлагаю вам использовать эту концепцию только для того, что я намеревался. Любой другой метод может быть угрозой безопасности. Там сделал мой отказ от ответственности!