2012-01-11 9 views
-1

私は常に変化するXMLを介してウェブサイトからデータを解析しているため、検索するデータはわかりません。私は必要なデータのために特定のクラスを呼び出すことによってデータを取得します。検索されるこのクラス内には、検索する必要があるものだけがあります。たとえば、クラス.candyを取得します。キャンディはウェブサイト上のさまざまな部分に対応していますので、キャンディーは「クッキーチョコレートグミクマ」を検索します。私は "チョコレート"がほしいと思う。ループ内でphp配列にデータを追加する

私の考えは、すべてを配列に配列してからアクセスすることでした。配列をtestとし、$ test [1]で "chocolate"にアクセスしたいとします。

私のために働いていません(0より大きい数字を入力すると、配列は範囲外です)、誰かが私のコード内のどこに間違いがあるのか​​知っていますか?上記は、私が必要とする実際のデータではなく、より良い理解のための例です。

あなたは

function getData($html)        
{        
    @$doc=new DOMDocument(); 
    @$doc->loadHTML($html); 
    $xml=simplexml_import_dom($doc); // just to make xpath more simple 
    //$images=$xml->xpath('//[]'); 
    $info=$xml->xpath('//*[@class="date"]'); 
    $arr= array(); 

    foreach ($info as $img) {         
     $arr= array($img);   
    } 
    return $arr[3]; 
} 

答えて

2

あなたはすべてのループで$arrを交換するありがとうございました。 $arr[] = $img;が動作するはずです。

例:

function getData($html) 
{  
    @$doc = new DOMDocument(); 
    @$doc->loadHTML($html); 
    $xml = simplexml_import_dom($doc); 
    $info = $xml->xpath('//*[@class="date"]'); 
    $arr = array(); 

    foreach ($info as $img) 
    { 
     $arr[] = $img; 
    } 

    return $arr[3]; 
} 
+0

はいああ何を愚かな間違い。非常にありがとう、受け入れます! – Teddy13

1
foreach ($info as $img) { 
    $arr[] = $img; 
} 
関連する問題