2013-12-13 45 views
0

我有两个文件: 的config.php:如何从外部数组中读取数据PHP?

$config["stations"]["aacplus"] = array( 
    "host" => "11.111.111.111", 
    "port" => "9999", 
    "password" => "aacplusv3", 
      "logo" => "http://cassianohost.com.br/amostra/sualogo.jpg" 
); 
$config["stations"]["aacplus"] = array( 
    "host" => "22.222.222.222.222", 
    "port" => "8888", 
    "password" => "aacplusv3", 
      "logo" => "http://cassianohost.com.br/amostra/sualogo.jpg" 
);` 

而且我有一个指标:

<?  
session_start(); 
$porta = $_SESSION["config"]["array"]["stations"]["aacplus"]["$port"]; 
include("config.php");?> 
<html> 
Porta: <?echo $port ?> 

我怎样才能抓住这是该指数PHP配置的端口?

+1

包括'$ PORTA = ...'行之前您的配置文件?你也知道你的第二个配置数组将完全覆盖你的第一个权利? –

回答

0

你的两个数组相互覆盖。如果你想直列他们是你需要做的

$config["stations"]["aacplus"] = array(); 
$config["stations"]["aacplus"][] = array( 
    "host" => "11.111.111.111", 
    "port" => "9999", 
    "password" => "aacplusv3", 
      "logo" => "http://cassianohost.com.br/amostra/sualogo.jpg" 
); 
$config["stations"]["aacplus"][] = array( 
    "host" => "22.222.222.222.222", 
    "port" => "8888", 
    "password" => "aacplusv3", 
      "logo" => "http://cassianohost.com.br/amostra/sualogo.jpg" 
); 

那么你可以做

echo $config["stations"]["aacplus"][0]["port"]; 
echo $config["stations"]["aacplus"][1]["port"]; 
0

这是一个多维数组,这样你就可以进入第三个层次,如:

$Port = $config["stations"]["aacplus"]["port"]; 

然而,一记警告,要覆盖$config与第二阵列的,所以只有一个端口访问。为了避免这种情况,千万:

//      note: vv 
$config["stations"]["aacplus"][] = array( 
"host" => "11.111.111.111", 
"port" => "9999", 
"password" => "aacplusv3", 
     "logo" => "http://cassianohost.com.br/amostra/sualogo.jpg" 
); 
$config["stations"]["aacplus"][] = array( 
"host" => "22.222.222.222.222", 
"port" => "8888", 
"password" => "aacplusv3", 
     "logo" => "http://cassianohost.com.br/amostra/sualogo.jpg" 
); 

然后你就可以有像端口一个简单的数组:

$Ports = array(); 
foreach ($config["stations"]["aacplus"] as $Station) 
    { 
    $Ports[] = $Station["port"]; 
    } 

然后在你的指数可以显示所有端口:

foreach ($Ports as $Port) 
    { 
    echo $Port . "<br>"; 
    } 
0

这是错误的["$port"];不包括$,因为您试图获取具有名为port

的密钥的阵列上的值
$configport = $config["stations"]["aacplus"]; 
echo $configport["port"];