php - 如何打印此多维数组?

时间:2010-09-15 13:20:21

标签: php

假设我有以下数组:

Array ( [1284487200] => Array ( [title] => first title [link] => http%3A%2F%2Fexample1.com ) [1261271380] => Array ( [title] => second title [link] => http%3A%2F%2Fexample2.com )

我想像这样打印数组:

<a href="http://example1.com">first title - 1284487200</a><br>
<a href="http://example2.com">second title - 1261271380</a><br>

任何想法都将不胜感激!

更新:提供的2个答案具有相同的错误,因为我的域名包含在链接中,例如。 http://www.mydomain.com/http%3A%2F%example1.com

我能以任何方式纠正这个问题吗?

3 个答案:

答案 0 :(得分:3)

foreach ($array as $key => $entry) {
    echo "<a href=\"{$entry['link']}\">{$entry['title']} - {$key}</a><br>";
}

请参阅:http://php.net/manual/en/control-structures.foreach.php

答案 1 :(得分:3)

(最)困难的部分是获取第一个维度数组的关键字,这是使用:

$key=>$data

在foreach。

$ key表示被遍历的数组的键。 $ data内容,在您的示例中$ data包含第二维数组。

foreach( $array AS $key=>$data )
{
   echo '<a href="'.urldecode( $data['link'] ).'">'.$data['title'].' - '.$key.'</a><br>';
}

有关foreach声明的更多信息:http://php.net/manual/en/control-structures.foreach.php

答案 2 :(得分:1)

使用foreach循环,$key将是数字,其他信息将作为数组放在$value中。我假设您也想使用urldecode()解码链接:

foreach($arr_name as $key => $value){
    $link = urldecode($value['link']);
    echo '<a href="' . $link . '">' . $key . ' - ' . $value['title'] . '</a><br>';
}