php:如何编写$item$i

php:如何编写$item$i,php,Php,如何正确书写 for($i=2;$i<5;$i++) { $items{$i} = $doc{$i}->getElementsByTagName('url'); } 出现错误: 致命错误:对非对象调用成员函数getElementsByTagName 谢谢, 再见试试: $ndoc = 'doc'. $i; $items[$i] = $$ndoc->getElementsByTagName('url'); 或: 这项测试对我有效:- $html1 = "<ht

如何正确书写

for($i=2;$i<5;$i++)
{
   $items{$i} = $doc{$i}->getElementsByTagName('url'); 
}
出现错误:

致命错误:对非对象调用成员函数getElementsByTagName

谢谢, 再见

试试:

$ndoc = 'doc'. $i;
$items[$i] = $$ndoc->getElementsByTagName('url'); 
或:


这项测试对我有效:-

$html1 = "<html><head><title>Test</title></head><body><p>Doc1 P1</p><p>Doc1 P2</p></body></html>";
$html2 = "<html><head><title>Test</title></head><body><p>Doc2 P1</p><p>Doc2 P2</p></body></html>";

$doc1 = new DOMDocument();
$doc1->loadHTML($html1);
$doc2 = new DOMDocument();
$doc2->loadHTML($html2);

for($i=1;$i<3;$i++){
    var_dump(${'doc'.$i}->getElementsByTagName('p'));
}
因此,您的代码应该如下所示:-

for($i=2;$i<5;$i++)
{
   ${'items'.$i} = ${'doc'.$i}->getElementsByTagName('url'); 
}
for($i=2;$i<5;$i++)
{
   $items[] = ${'doc'.$i}->getElementsByTagName('url'); 
}
除非您的意思是$items是一个数组,在这种情况下,它应该如下所示:-

for($i=2;$i<5;$i++)
{
   ${'items'.$i} = ${'doc'.$i}->getElementsByTagName('url'); 
}
for($i=2;$i<5;$i++)
{
   $items[] = ${'doc'.$i}->getElementsByTagName('url'); 
}

这是一个变量,用于DOMDocumentwant在循环中执行此操作:$items2=$doc2->getElementsByTagName'url'$items3=$doc3->getElementsByTagName'url'$items4=$doc4->getElementsByTagName'url';这里的脚本是:$i=1$igetElementsByTagName'url';对于$j=0$j<$$项目->长度$j++{$$items=$$items->item$j;$item1=$doc1->importNode$$items,true;$res1->appendChild$item1;}}}但是我在循环中遇到了一个问题…importNode只有一个项,需要所有项…搜索您的代码看起来不错的原因…我继续在我的代码中查找原因,它不好用…你的不一样,改成和我的一样就行了。好吧,我发现我的问题…在循环中,变量名是假的