0

次のコードは、URL、タイトル、スニペットなどの検索エンジンから情報を取得する関連配列です。

$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 

誰が私が間違っているかを見ることができますか

4

2 に答える 2

1

配列から読み取るにlinkは、アイテムのプロパティをキーとして使用しています。

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

しかし、コードの前半では、その正確なリンクを使用して値を書き込んでいません。を使用して書き込みます

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

を使用しているのではなく$item->{'link'}、そのリンクの修正版 (str_replace を使用) を使用しています。

それが1つの問題です。

もう 1 つの問題は、titlesnippetが のキーの値である配列のキーであるため、これらの値を取得するには、の代わりに を$googleArray読み取る必要があることです。この場合、最初の問題を修正した後の修正されたキーです。;)$googleArray[$key]['snippet']$googleArray['snippet']$key

于 2013-07-30T14:22:13.227 に答える
0

それは結局これと同じくらい簡単でした

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

    }

そして、それを理解するのに丸一日かかりました(笑)

于 2013-07-31T12:35:24.623 に答える