1

URLの配列が渡される機能があります。各 Web ページからデータを抽出し、各データを配列に割り当てています。これが私の機能です:

 function getitems ($urls) {
  $iteminfo = array();
  foreach($urls as $link) {
   $circdl = my_curl($link);
   $circqp = htmlqp($circdl,'body');
   $itemtitle = $circqp->branch()->find('div[class="col-item"]')->children('img')->attr('title');
   $itemlink = $circqp->branch()->find('div[class="col-item"]')->children('img')->attr('src');
   $itemdesc = $circqp->branch()->find('div[class="col-item"]')->children('img')->attr('alt');
   $iteminfo[][] = $itemtitle;
   //$iteminfo[$itemtitle][] = $itemlink;
   //$iteminfo[$itemtitle][] = $itemdesc;
  }
    return $iteminfo;  
 }

配列を次のようにしたい:

 Array ( [0] => Array ( [0] => title [1] => link [2] => desc ) [1] => Array ( [0] => title [1] => link [2] => desc ) [2] => Array ( [0] => title [1] => link [2] => desc ) ) 

しかし、サブ配列にフィールドを追加する方法に頭を悩ませることはできません。

4

4 に答える 4

2

このようなことを試してください

function getitems ($urls) {
    $iteminfo = array();
    $i = 0;
    foreach($urls as $link) {
        $circdl = my_curl($link);
        $circqp = htmlqp($circdl,'body');
        $itemtitle = $circqp->branch()->find('div[class="col-item"]')->children('img')->attr('title');
        $itemlink = $circqp->branch()->find('div[class="col-item"]')->children('img')->attr('src');
        $itemdesc = $circqp->branch()->find('div[class="col-item"]')->children('img')->attr('alt');
        $iteminfo[$i][] = $itemtitle;
        $iteminfo[$i][] = $itemlink;
        $iteminfo[$i][] = $itemdesc;
        $i++;
    }
    return $iteminfo;  
}

すべて問題ありません。各行にインデックスを割り当てるだけです。

于 2012-09-13T13:57:16.457 に答える
0

簡単に交換できます

$iteminfo[][] = $itemtitle;
//$iteminfo[$itemtitle][] = $itemlink;
//$iteminfo[$itemtitle][] = $itemdesc;

$iteminfo = array($itemtitle, $itemlink, $itemdesc);

構文が

$array = $element; // where     $array = array();

これは、PHPで配列に要素を追加するための別の方法であり、同様に使用$elementできます。array()

于 2012-09-13T13:58:53.637 に答える
0
function getitems ($urls) {
   $iteminfo = array();
   foreach($urls as $link) {
       $subInfo = array();
       $circdl = my_curl($link);
       $circqp = htmlqp($circdl,'body');
       $subInfo[] = $circqp->branch()->find('div[class="col-item"]')->children('img')->attr('title');
       $subInfo[] = $circqp->branch()->find('div[class="col-item"]')->children('img')->attr('src');
       $subInfo[] = $circqp->branch()->find('div[class="col-item"]')->children('img')->attr('alt');
      $iteminfo[] = $subInfo;
   }
   return $iteminfo;  
}
于 2012-09-13T13:59:33.673 に答える
0

私があなたを正しく理解していれば...

$iteminfo[] = array($itemtitle, $itemlink, $itemdesc);
于 2012-09-13T13:58:02.553 に答える