PHP插入多维数组


PHP Insert Into MultiDimensional Array

我有一个函数,它被传递了一个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 ) ) 

但我无法理解如何将字段添加到子数组中。

尝试类似的东西

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;  
}

一切都很好,您只需要为每一行分配索引。

如果我正确理解你。。。

$iteminfo[] = array($itemtitle, $itemlink, $itemdesc);
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;  
}

您可以轻松替换

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

带有

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

你可以这样做,因为语法

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

只是在PHP中将元素添加到数组的另一种方式,$element也可以是array()