如何操作关联数组中的元素?

时间:2015-04-29 09:49:13

标签: php arrays image html-parsing associative-array

我有一个名为$feeds的关联数组(在执行print_r($feeds);之后),如下所示:

注意:实际的关联数组$feeds非常大。出于理解的目的,我只从巨大的数组中放入一个元素。

   Array
   (
      [0] => Array
      (
         [feed_image] => Array
         (
           [0] => <a href="http://52.1.47.143/photo/928/2_onclick_ok/userid_244/"  class=" js_photo_item_928  photo_holder_image" rel="928" ><img src="http://52.1.47.143/file/pic/photo/2015/04/9bd387c6442135834298d6a17b3f9555_240.jpg"  alt=""  width="180"  height="160"  class="photo_holder" /></a><br />
           [1] => <a href="http://52.1.47.143/photo/927/8/userid_244/" class=" js_photo_item_928  photo_holder_image" rel="927"><img src="http://52.1.47.143/file/pic/photo/2015/04/6eb60ee0e258223ef72a9a632d0ce429_240.png"  alt="" height="84" width="150"  class="photo_holder"  userid="244" /></a>
         )
      )
    )

首先,我想检查关键数组$ feeds中是否存在键['feed_image']。如果它存在,则通过更改每个数组元素的图像路径来转换数组$feeds['feed_image'],如下所示:

我想根据每个<img>标记的'src'属性值创建新数组。在这种情况下你也可以观察到。

   Array
   (
      [0] => Array
      (
         [feed_image] => Array
         (
           [0] => 2015/04/9bd387c6442135834298d6a17b3f9555%s.jpg
           [1] => 2015/04/2015/04/6eb60ee0e258223ef72a9a632d0ce429%s.png
         )
      )
    )

我尝试了以下代码,但它没有用。它什么都不返回。

$cnt = 0;
foreach ($feeds as $key => $value) {
 if (is_array($feeds[$cnt]['feed_image'])) {
    $feeds[$cnt]['feed_image'][$key] = (string) reset(simplexml_import_dom(DOMDocument::loadHTML($feeds[$cnt]['feed_image'][$key]))->xpath("//img/@src"));
  }
$cnt++;
}

0 个答案:

没有答案