I would like to perform a for loop with $xpath->query but it seems to fail at some point .Please i need some guidance.
This is me trying looping
for($i=1 ; $i<8 ;$i++)
{
for($j=1 ; $j<24 ;$j++)
$status[] = $xpath->query('//div[@class="datatable"]/table//tbody/tr[$i]/td[$j]/text()');
}
foreach($status as $xpathElement)
{
foreach($xpathElement as $nodeKey=>$nodeValue)
{
$arr[] = $nodeValue->textContent;
}
}
Because you're using single quotes your resulting query string looks exactly like this (with $i
and $j
inserted as strings): //div[@class="datatable"]/table//tbody/tr[$i]/td[$j]/text()
.
To actually insert numbers (stored in $i
and $j
variables) use double quotes: $xpath->query("//div[@class=\"datatable\"]/table//tbody/tr[$i]/td[$j]/text()");
.
Or if you still want to use single quotes, you can write it like this:
$xpath
->query('//div[@class="datatable"]/table//tbody/tr[' . $i . ']/td[' . $j . ']/text()');