Обход каждого элемента - PullRequest
       11

Обход каждого элемента

3 голосов
/ 08 ноября 2011

Прямо сейчас я получаю доступ к каждой строке и ячейкам таблицы следующим образом:

$f = phpQuery::newDocumentFile('test.html');

// access row #1
$o = $f['#id tr:eq(0)'];
$d = phpQuery::newDocument($o);

// get cells from row #1
$arr[0]['c1'] = $d['td:eq(0)'];
$arr[0]['c2'] = $d['td:eq(1)'];

// access row #2
$o = $f['#id tr:eq(1)'];
$d = phpQuery::newDocument($o);

// get cells from row #2
$arr[1]['c1'] = $d['td:eq(0)'];
$arr[1]['c2'] = $d['td:eq(1)'];

Мне было интересно, есть ли более эффективный способ сделать это?Например, может быть, если есть способ узнать последний номер индекса, тогда я, вероятно, могу сделать что-то вроде этого:

$f = phpQuery::newDocumentFile('test.html');

$last_index = 10;

for ($i = 0; $i <= $last_index; $i++)
{
    $o = $f['#id tr:eq($i)'];
    $d = phpQuery::newDocument($o);     

    $arr[$i]['c1'] = $d['td:eq(0)'];
    $arr[$i]['c2'] = $d['td:eq(1)'];        
}

Кто-нибудь знает, как найти последний индекс (общее количество строк в таблице)?

1 Ответ

4 голосов
/ 08 ноября 2011

Вы можете использовать метод size().

$last_index = pq('#id tr')->size() - 1; 
...