我想获取代码的foreach循环的最后3项。
我的代码是:
foreach ($img as $spans) {
$fimg = $spans ->getAttribute('loadlate');
if ($spans ->getAttribute('class') === 'loadlate hidden ') {
echo $fimg . '<br>';
}}
示例:我的输出将是:
111
222
333
444
555
我想打印 333-444-555
答案 0 :(得分:0)
我只是反转数组并计算
$img = array_reverse($img);
$i = 0;
foreach ($img as $spans) {
$fimg = $spans ->getAttribute('loadlate');
if ($spans ->getAttribute('class') === 'loadlate hidden ') {
if(++$i>3) breal;
echo $fimg . '<br>';
}}
答案 1 :(得分:0)
你可以切掉最后三个并循环过去。
foreach (array_slice($img, -3) as $spans) { ...
第二个想法,因为看起来你正在迭代一个DomNodelist
,你可以用它的长度来构造一个for
循环。
$len = $img->length;
$start = max($len - 3, 0); // calculate start index
for ($i=$start; $i < $len; $i++) {
$spans = $img->item($i); // get the item at each index
$fimg = $spans ->getAttribute('loadlate');
if ($spans ->getAttribute('class') === 'loadlate hidden ') {
echo $fimg . '<br>';
}
}