我有配置文件database.php
<?php defined('_ENGINE') or die('Access Denied'); return array (
'adapter' => 'mysqli',
'params' =>
array (
'host' => 'localhost',
'username' => 'root',
'password' => 'root',
'dbname' => 'db',
'charset' => 'UTF8',
'adapterNamespace' => 'Zend_Db_Adapter',
),
'isDefaultTableAdapter' => true,
'tablePrefix' => 'engine4_',
'tableAdapterClass' => 'Engine_Db_Table',
); ?>
如何从此阵列中仅获取密码?
类似于echo $array['password'];
答案 0 :(得分:4)
database.php
获取数组?您需要包含该文件并将返回的值绑定到变量,例如下面的示例。
$db_conf = require ('/path/to/database.php');
$db_conf
将包含 database.php 编辑的返回数据。
<强>文档强>
由于您正在使用嵌套数组,因此解决方案并不像您想象的那么远。首先使用$a[key]
来获取存储在params
下的数组,然后从那里获取password
的值。
如下例所示。
$password = $array['params']['password'];
注意:从逻辑上讲,上述内容相当于;
$params = $array['params'];
$password = $params['password'];
<强>文档强>
为了保护 database.php 不受意外访问,它已受到检查以保护它在引擎内使用。
如果未定义die
,则脚本将_ENGINE
。
如果你想在引擎之外的脚本中使用 database.php ,你需要在 include 之前定义 _ENGINE 常量em> ing the file。
define ('_ENGINE', 1);
...
$db_conf = include ('database.php');
答案 1 :(得分:0)
echo $array['params']['password'];
试一试。 : - )