2013-08-20 20 views
-2

在我收到snark冰雹之前,请相信我 - 我已经使用Google搜索并使用SO搜索。按键名选择数组值

如何按名称选择数组值?

如果我想调用特定的值(对于数据库连接),我该如何做到这一点?以下是基于PHP的CMS站点的config文件夹中的database.php文件。

我想创建一个mysqli的查询

$db_connection = @mysqli_connect(host,user,pass,database) 

下面的代码存在于网站的config文件夹中的config/database.php中一个单独的文件连接。

$config['default'] = array(
     'benchmark' => TRUE, 
     'persistent' => FALSE, 
     'connection' => array(
      'type' => 'mysqli', 
      'user' => 'myname', 
      'pass' => 'somepass123', 
      'host' => 'localhost', 
      'port' => FALSE, 
      'socket' => FALSE, 
      'database' => 'local_sitename', 
     ), 
     'character_set' => 'utf8', 
     'table_prefix' => '', 
     'object' => TRUE, 
     'cache' => FALSE, 
     'escape' => TRUE 
    ); 

互联网,我的课本,正以饱满的例子是这样的:http://www.homeandlearn.co.uk/php/php6p3.html

其中,例如,是一个四季数组:

<?php 

$seasons = array("Autumn", "Winter", "Spring", "Summer"); 
print $seasons[0]; 

?> 

我知道,我可以选择通过使用$seasons[2];

但是使用在我的网站配置文件使用一个阵列内阵列的阵列说春天。我需要这样的东西(这将是语法错误的,但我希望传达什么,我需要)

$db_connection = $config(connection(host)),$config(connection(user)),$config(connection(pass)),$config(connection(database)) 

我怎么会叫这些价值观?

+1

'$配置[ '默认'] [ '连接'] [ '主机']' - 基本数组访问。 – deceze

回答

1
$config['default'] = array(
     'benchmark' => TRUE, 
     'persistent' => FALSE, 
     'connection' => array(
      'type' => 'mysqli', 
      'user' => 'myname', 
      'pass' => 'somepass123', 
      'host' => 'localhost', 
      'port' => FALSE, 
      'socket' => FALSE, 
      'database' => 'local_sitename', 
     ), 
     'character_set' => 'utf8', 
     'table_prefix' => '', 
     'object' => TRUE, 
     'cache' => FALSE, 
     'escape' => TRUE 
    ); 


echo $config['default']['connection']['user'] // prints myname 
echo $config['default']['connection']['pass'] // prints pass 
echo $config['default']['connection']['host'] // prints host 
+0

感谢您的回答。所以,这似乎很长,在PHP中没有更短的方式?我尝试了$ config ['connection'],因为连接似乎是一个包含所有必需信息的数组。 –

+0

那么有多种方法可以建立连接。您可以将其存储在常量中 - > http://www.php.net/manual/en/function.define.php 或者只是在基本变量中,或者您可以为数据库创建配置数组 – DeiForm

1

使用字符串索引你的阵列的关键:

$config['default']['connection']['host'];// === 'localhost' 
+0

感谢您抽出宝贵时间回答我意识到这对于那些遵循php标签的人来说是基本的 –

+0

@Doug不是那些*“遵循PHP标签”*的人。那些阅读手册并通过阅读教程或书籍学习PHP的人。*我建议你做更多。 – deceze