Foreach循环和双数组
问题描述:
我有这个我写的双数组(数组包含一些信息)。 下面,你会看到我用每个循环来显示每组登录。Foreach循环和双数组
$servers = array(
1 => array('server1','username1','password1','port1'),
2 => array('server2','username2','password1','port2'),
3 => array('server3','username3','password1','port3')
);
foreach ($servers as $count => $servers_array)
{
foreach ($servers_array as $num => $value)
{
echo $servers_array[0].":".$servers_array[1].":".$servers_array[2].":".$servers_array[3]."\n";
}
}
上面的输出是
server1:username1:password1:port1
server1:username1:password1:port1
server1:username1:password1:port1
server1:username1:password1:port1
server2:username2:password1:port2
server2:username2:password1:port2
server2:username2:password1:port2
server2:username2:password1:port2
server3:username3:password1:port3
server3:username3:password1:port3
server3:username3:password1:port3
server3:username3:password1:port3
正如你可以在上面看到它呼应的出每组登录3次。我需要每一个回应一次。
任何人都明白了吗?
答
只是删除你的内心foreach
。
<?php
$servers = array(
1 => array('server1','username1','password1','port1'),
2 => array('server2','username2','password1','port2'),
3 => array('server3','username3','password1','port3')
);
foreach ($servers as $count => $servers_array)
{
echo $servers_array[0].":".$servers_array[1].":".$servers_array[2].":".$servers_array[3]."\n";
}
结果
server1:username1:password1:port1 server2:username2:password1:port2 server3:username3:password1:port3
+0
你在开玩笑吧?啊哈,我感到很愚蠢。我确实在单一的foreach中尝试过,但由于某些原因,由于双数组只是吐出一组登录名。谢谢!! – 2013-03-09 19:57:02
+0
不用担心。我实际上认为你可能想迭代内部数组来创建输出。 – Kermit 2013-03-09 19:57:45
答
只要用你的第一的foreach。
foreach ($servers as $servers_array) {
echo $servers_array[0].":".$servers_array[1].":".$servers_array[2].":".$servers_array[3]."\n";
}
事实上,你想在循环内有一个索引数组,因此你只需要一个foreach。
答
怎么样:
<?php
$servers = array(
1 => array('server1','username1','password1','port1'),
2 => array('server2','username2','password1','port2'),
3 => array('server3','username3','password1','port3')
);
foreach ($servers as $count => $servers_array)
{
echo "<br />";
foreach ($servers_array as $num => $value)
{
echo $value . ":";
}
}
?>
无需添加标签问题的称号。它们都是分开列出的。 – hjpotter92 2013-03-09 19:55:23
“正如你在上面看到的,它回显了每次登录3次”。实际上是4。 – Shoe 2013-03-09 19:56:00