2014-02-11 63 views
0

我想显示数组上的所有内容,但似乎并未显示所有信息,并且每个服务器可能有多于2个分区,下面我写的只是2个分区,其他服务器可能有更多比2.是否有可能检测到服务器内有多少分区并显示全部?下面是我的代码: -显示PHP数组

<?php 
$rangehourly = "129600"; 
$rangedaily = "604800"; 

$graph_list = array(
'myserver.com' => array(

    '/home' => array(
    'daily'=> 'https://longserverurlhere.com', 
    'hourly'=> 'https://longserverurlhere.com' 
), 

    '/var/www/html/' => array(
    'daily'=> 'https://longserverurlhere', 
    'hourly'=> 'https://longserverurlhere' 
) 
) 
); 


foreach($graph_list as $servername => $value) { 
    echo $servername . "<br />"; 
    foreach($value as $a => $part) { 
     echo $a .'<br>'. $part[0].'<br>'.$part[1]; 

    foreach($part as $b => $range) { 
    echo $b . '<br>'. $range[0]. '<br>'.$range[1]; 

    } 
    } 
    echo "<br> /><br />"; 
} 
?> 

我试着添加另一个foreach循环,它显示我无效的参数。在解决此问题后,请忽略它将使用url放置的变量。

回答

1

我想代码应该是这样的:

<?php 
$rangehourly = "129600"; 
$rangedaily = "604800"; 

$graph_list = array(
'myserver.com' => array(
    '/home' => array(
    'daily'=> 'https://longserverurlhere.com', 
    'hourly'=> 'https://longserverurlhere.com' 
), 
    '/var/www/html/' => array(
    'daily'=> 'https://longserverurlhere', 
    'hourly'=> 'https://longserverurlhere' 
) 
) 
); 

foreach ($graph_list as $servername => $value) { 
    echo htmlspecialchars($servername) . '<br>'; 
    foreach ($value as $folder => $ranges) { 
     echo htmlspecialchars($folder) .'<br>'; 
     foreach ($ranges as $rangeName => $range) 
      echo htmlspecialchars($rangeName) . '<br>' . htmlspecialchars($range) . '<br>'; 
    } 
    echo '<br>'; 
} 
?> 
+0

谢谢!像魅力一样工作! – Furry

0

使用

var_dump($array); 

print_r($array); 

如果你选择后者,我建议在该行之前添加此尝试:

echo "<pre>"; 

编辑

HEHE。你编辑它。我认为这是你正在寻找的。

+0

做过的var_dump($阵列),看看它;) – Nanis

+0

也尝试过使用这些与Xdebug的。 –

0

你的钥匙是关键字,您尝试使用数字。

foreach($graph_list as $servername => $value) { 
    echo $servername . "<br />"; 
    foreach($value as $a => $part) { 
     echo $a .'<br>'. $part['daily'].'<br>'.$part['hourly']; 
    } 
    echo "<br> /><br />"; 
}