我尝试将数组放入html时出错

时间:2013-07-30 14:14:11

标签: php arrays

以下代码是一个关联数组,它从搜索引擎获取信息,例如url,title和snippet,

$googleArray = array(); 

    $find = array ('http://','https://','www.');                    
    $score = 100;                  



foreach ($all_items as $item)  // 
{   
    $googleArray[str_replace ($find, '', ($item->{'link'}))] = array(         
    'title'=> $item->{'title'},
    'snippet' => $item->{'snippet'},
    'score' => $score--
     );

}

我知道想在网页上用html打印出来,我已经尝试过这段代码了。

foreach ($all_items as $item)
{   
    echo "<href={$googleArray[($item->{'link'})]}>". $googleArray['title'] . "</a> <br>" .        
    $googleArray['link'] . "<br>" . $googleArray['snippet'];
    echo "<br>"; echo "<br>";

} 

这些是我得到的错误

Notice: Undefined index: http://www.time.com/ 

Notice: Undefined index: title 

Notice: Undefined index: link 

Notice: Undefined index: snippet 

任何人都可以看到我出错的地方

2 个答案:

答案 0 :(得分:1)

要从数组中读取,您使用项目的link属性作为键:

echo "<href={$googleArray[($item->{'link'})]}>

但是在代码的前面,你没有使用那个确切的链接来写入值。你用

$googleArray[str_replace ($find, '', ($item->{'link'}))];

所以你没有使用$item->{'link'},而是使用该链接的修改版本(带有str_replace)。

这是一个问题。

另一个问题是,titlesnippet是数组中的键,它是$googleArray中键的值,因此要获取这些值,您应该阅读{{ 1}}而不是$googleArray[$key]['snippet']。修复第一个问题后,$googleArray['snippet']在这种情况下是更正后的密钥。 ;)

答案 1 :(得分:0)

最终这很简单

foreach($all_items as $item){
        echo  "<a href=\"{$item->link}\">{$item->title}</a><p>{$item->snippet}</p>". "<br>";

    }

我只花了整整一天才弄清楚,哈哈,