php - 如何仅在一个数组中从数据库返回值

标签 php arrays return-value

我正在寻找配置/详细信息文件的解决方案。我发现this解决方案很有趣,但我不想对值进行硬编码,而是想从数据库中检索它们。

我也是 PDO 新手,但目前我的解决方案如下(config.php):

try {
    $db = new PDO('mysql:host=localhost;dbname=dbname;charset=utf8', 'user', 'pwd');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $db->query("SELECT name, value FROM config");
    $configs = $stmt->fetchAll();

    return [
        array_column($configs, 'value', 'name')
    ];

} catch(PDOException $e) {
    echo "Error: ".$e->getMessage();
}

然后我得到这样的回复:

Array ( [0] => Array ( [SITENAME] => Pionérhytta [MAXGUESTS] => 5 ) )

我需要这样写才能获取值(index.php):

<?php $config = include('../config/config.php'); ?>
...
<?=$config[0]['SITENAME']?>

这可行,但我想删除 [0] 并写入 $config['SITENAME'] 来获取值。

有什么解决办法吗?

提前感谢您的帮助

最佳答案

您的array_column()返回一个关联数组。没有必要将其包装在另一个数组中:

return array_column($configs, 'value', 'name');

关于php - 如何仅在一个数组中从数据库返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49539942/

相关文章:

python - 访问一个以前返回的值 - Python3.2

php - 使用 curl 发布文件是否有大小限制?

php - gcm推送通知: first success,然后未在IOS中注册

java - 删除重复项并对字符串数组进行排序

java - 如何将数据添加到在构造函数中初始化的数组?

c - 查找子字符串,但不是所有输入?

Javascript:使用两个参数进行 boolean 比较的 while 循环

Ruby 方法在执行条件后返回 nil 值

javascript - 页面加载时显示的隐藏表单

php - 如何在 PHP 中从字符串数组创建对象