未定义的索引:标题和日期?

时间:2013-12-13 16:42:24

标签: php

使用以下代码时我得到了

注意:未定义索引:第34行/home/.../php中的标题
注意:未定义的索引:第37行/home/.../php中的日期

我不确定为什么要这样做!

  <?php
$rss = new DOMDocument();
$rss->load('http://www.example.com/feed/');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
    $item = array ( 

        'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
        'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,

        );
    array_push($feed, $item);
}
$limit = 2;
for($x=0;$x<$limit;$x++) {
    $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
    $link = $feed[$x]['link'];
    $description = $feed[$x]['desc'];
    $date = date('l F d, Y', strtotime($feed[$x]['date']));
    echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';

    echo '<p>'.$description.'</p>';
}

&GT;

2 个答案:

答案 0 :(得分:0)

因为您没有在title数组中定义date$feed值。因为未指定索引,所以它被视为未定义。请尝试:

$item = array ( 
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);

答案 1 :(得分:0)

您将$item数组推送到$feed数组。在$feed数组中没有这样的键值可用 titledate

$item = array ( 

    'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
    'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
    'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
    'date' => $node->getElementsByTagName('date')->item(0)->nodeValue
    );

我假设titledate如果没有设置合适的值,你就会有价值。