Проблема добавления счетчика в код с 3 циклами foreach - PullRequest
0 голосов
/ 26 марта 2011

У меня проблемы с добавлением счетчика, начиная с 1, к следующему коду, около echo $images; Я хотел бы посчитать, сколько раз он отображает $ images.Моя цель - добавить номер рядом с изображениями.Любая помощь будет отличной!Пожалуйста, имейте в виду, если есть способ сделать следующий код лучше.Спасибо!

foreach($items as $item) {
    $descr = $xPath->query('./description', $item);

    foreach ($descr as $d) {

        $temp_dom = new DOMDocument();
        $temp_dom->loadHTML( $d->nodeValue );
        $temp_xpath = new DOMXPath($temp_dom);
        $img = $temp_xpath->query('//div[@class="separator"]//img');

 foreach ($img as $imgs) {   
$images=$imgs->getAttribute('src'); 
echo $images; }

   }

}

Ответы [ 3 ]

1 голос
/ 26 марта 2011

Инициализируйте переменную, например, $count = 0;, а затем добавить 1 в каждом цикле:

 foreach ($img as $imgs) {   
$images=$imgs->getAttribute('src'); 
++$count; // <= here you go
echo $images; }
0 голосов
/ 26 марта 2011

Не могли бы вы просто добавить что-то вроде

$counter = 0;

до первого foreach, а затем что-то вроде

$counter++;
echo $images;
echo $counter;

просто увеличьте счетчик в то же время, вы получаете изображения. Или я что-то упустил?

0 голосов
/ 26 марта 2011

foreach не поддерживает свой собственный счетчик, если вам нужен счетчик, вы можете использовать цикл for вместо

for ($i = 0; $i <= count($img).; $i++) {
    $images = $img[i]->getAttribute('src');
    echo $images;
}

Или вы можете просто инициализировать свой собственный счетчик в foreach

foreach($img as $imgs) {
$i = 1;
$images = $imgs->getAttribute('src');
echo $images;
$i++;
}
...