В дополнение к моему вопросу здесь , я действительно задаюсь вопросом, почему я не получаю строки, добавленные в мой массив, со следующим кодом.
Я получаю HTML-код из внешнего источника с помощью этого:
$doc = new DOMDocument(); @$doc->loadHTML($html); $xml = @simplexml_import_dom($doc); // just to make xpath more simple $images = $xml->xpath('//img'); $sources = array(); Вот массив изображений:
 Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [alt] => techcrunch logo [src] => http://s2.wp.com/wp-content/themes/vip/tctechcrunch/images/logos_small/techcrunch2.png?m=1265111136g ) ) ... ) 
Затем я добавил источники в свой массив:
 foreach ($images as $i) { array_push($sources, $i['src']); } 
Но когда я печатаю результаты:
  echo "<pre>"; print_r($sources); die(); 
Я получаю это:
 Array ( [0] => SimpleXMLElement Object ( [0] => http://www.domain.com/someimages.jpg ) ... ) 
  Почему не $i['src'] рассматривается как строка?  Является ли исходный элемент [src] отмеченным, где я печатаю $ images строку внутри? 
  Другими словами, $ images [0] является SimpleXMLElement, я это понимаю.  Но почему атрибут 'src' объекта THAT не является, а является $ source как строка, когда я ссылаюсь на него как $i['src'] ?