【问题标题】:PHP Get value from config arrayPHP 从配置数组中获取值
【发布时间】:2014-07-04 11:54:02
【问题描述】:

我有一个如下所示的 config.php 文件

return array(
"array1"=>
    array(
      "array2"=>"value"
    )
);

如何使用这样的函数动态提取 array2 值?

function getConfigValue(?)
{
    $config = include("config.php");
    return $config....  
}

【问题讨论】:

    标签: php


    【解决方案1】:
    $path  = 'array1.array2';
    $value = array_reduce(
        explode('.', $path),
        function (array $value, $key) { return $value[$key]; },
        $config
    );
    

    【讨论】:

    • 请注意,如果您访问不在数组中的键,此方法会引发错误。您可以通过将if(isset($value[$key]) === false) return null; 添加到匿名函数的开头来改进该函数。所以你会得到NULL 而不是警告消息。
    • 实际上我使用了一个特定的 php 框架,它也利用这种风格来调用配置。 +1 精彩回答
    • @TiMESPLiNTER 是的,这当然可以使用更明显的错误消息。但是,array 类型提示会让你的程序完全出错,不需要isset。如果您不想要硬错误,而是想要软失败,那么手动检查可能会更好。这取决于您的优先事项和设计目标。
    猜你喜欢
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多