【发布时间】:2014-07-21 03:08:06
【问题描述】:
我发布此消息是因为我无法在任何地方找到问题的答案。我可能不是在寻找正确的搜索查询,我只是从数组开始。
我有以下数组,其中包含按信息类型(名称、URL、日期、在线)组织的嵌套数组:
Array (
[Name] => Array ( [0] => Name 1 [1] => Name 2 )
[URL] => Array ( [0] => http://url-1.com [1] => http://url-2.com )
[Date] => Array ( [0] => 2014-05-31 11:10 [1] => 2014-05-26 11:16 )
[Online] => Array ( [0] => 1 [1] => ) )
关键是显示哪些项目是链接的。例如,每个 [0] 属于一起:
- [URL][0] 是 [Name][0] 的 url
我想做一个 foreach 按键显示值,以便回显如下内容:
<a href="[URL][0]">[Name][0]</a><p>[Date][0]</p><p>[Online][0]</p>
<a href="[URL][1]">[Name][1]</a><p>[Date][1]</p><p>[Online][1]</p>
可以有 1 到 n 个键。
找到解决方案
我设法得到不同的数组:
$array = Array (
[0] => Array ( [name] => Name 1 [url] => http://url-1.com [date] => 2014-05-31 11:10 [online] => 1 )
[1] => Array ( [name] => Name 2 [url] => http://url-2.com [date] => 2014-05-26 11:16 [online] => ) )
它是由包含在一起的值的数组组织的,而不是由包含一起包含所有名称的数组,一起包含所有 url,... 如果有人知道如何将首字母更改为这个,我可以将其添加到我的解决方案中。
有了这个新阵列后,管理起来就容易多了。我让循环与 for 一起工作:
我首先通过获取最高的数组键值来设置 for 的限制:
$max_stop = max(array_keys($array));
然后我做了一个。 $max_stop 后面的 +1 是必需的,否则它会在倒数第二个停止计数(计数从 0 开始而不是 1)
for ($row = 0; $row < $max_stop+1; $row++){
然后我回显我想要显示的内容:
echo '<a href="'.$array[$row]["url"].'">'.$array[$row]["name"].'</a><p>'.$array[$row]["date"].'</p><p>'.$array[$row]["online"].'</p>';}
这可能不是最好的方法,但它可以按我的意愿工作。
【问题讨论】:
-
你为什么不翻转数组呢?
-
好主意,我会调查的。一旦它被按键组织起来,让它像我想要的那样工作肯定会更容易。谢谢你的回答