1

我有一个函数,它传递了一个 url 数组。我从每个网页中提取数据,然后将每条数据分配给一个数组。这是我的功能:

 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[] = array($itemtitle, $itemlink, $itemdesc);
于 2012-09-13T13:58:02.553 回答
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 回答