如何从外部数组PHP读取数据


How to read data from an external array PHP?

我有两个文件:config.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配置中的端口?

您的两个数组正在互相覆盖。如果你想让它们在线,你需要做

$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"];

这是一个多维数组,因此您可以访问第三级,如:

$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>";
  }

这是错误的["$port"];不包括$,因为您正在尝试获取具有名为port 的键的数组上的值

$configport = $config["stations"]["aacplus"];
echo $configport["port"];