php - PHP $xpath->查询循环
问题描述
我想用 $xpath->query 执行一个 for 循环,但它似乎在某些时候失败了。请我需要一些指导。
这是我尝试循环
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;
}
}
解决方案
因为您使用的是单引号,所以生成的查询字符串看起来完全像这样(使用$i
并$j
作为字符串插入)//div[@class="datatable"]/table//tbody/tr[$i]/td[$j]/text()
:。
要实际插入数字(存储在$i
和$j
变量中),请使用双引号:
$xpath->query("//div[@class=\"datatable\"]/table//tbody/tr[$i]/td[$j]/text()");
.
或者如果你仍然想使用单引号,你可以这样写:
$xpath
->query('//div[@class="datatable"]/table//tbody/tr[' . $i . ']/td[' . $j . ']/text()');
推荐阅读
- c# - 如何注册单数按键
- android - 在 Flutter add2app 场景中如何让应用返回按钮返回宿主应用?
- javascript - 为赛普拉斯创建静态内容选择器
- date - 输入没有时间的日期
- javascript - 如果为空或数字,则反应输入验证
- asp.net - IIS Express applicationhost.config - 身份验证错误
- sql - Oracle: Pick the row based on a given date
- c++ - 类型转换的舍入问题
- python - Classification metrics can't handle a mix of binary and continuous targets
- ios - Allow Backspace with character set