嘿,我遇到了一个简单的 DOM 解析器问题,这让我发疯了。
这工作正常:
foreach($html->find('input[name=sex]') as $e)
echo $e->value;
即使它只有 1 个结果。
然而这不起作用:
echo $html->find('input[name=sex]')->value;
我不想真正使用 foreach 因为我只希望得到 1 个结果。所以有人可以帮助我处理第二个代码块吗?
干杯
嘿,我遇到了一个简单的 DOM 解析器问题,这让我发疯了。
这工作正常:
foreach($html->find('input[name=sex]') as $e)
echo $e->value;
即使它只有 1 个结果。
然而这不起作用:
echo $html->find('input[name=sex]')->value;
我不想真正使用 foreach 因为我只希望得到 1 个结果。所以有人可以帮助我处理第二个代码块吗?
干杯
根据文档,第二个参数是您希望找到的索引。将其设置为 0 以返回第一个 ( 0th ) 元素而不是对象数组:
通过 CSS 选择器查找元素。如果设置了索引,则返回第 N 个元素对象,否则返回对象数组。
$html->find('input[name=sex]', 0)->value;
$html->find('input[name=sex]')[0]->value;
它似乎find
返回一个数组,因此使用索引会对您有所帮助。
使用上面的代码。
如果你可以在某物上使用 for-each,它就是一个数组/集合,即使只有一个元素。您要求回显整个数组,这可能需要print_r
. 正如另一位海报所建议的那样,使用下标。