For循环在PHP cURL中输出数组



我有像

这样的XML
<user>
<researcher>
<researcher_keywords>
<researcher_keyword>
<value>Value A</value>
</researcher_keyword>
<researcher_keyword>
<value>Value B</value>
</researcher_keyword>
<researcher_keyword>
<value>Value C</value>
</researcher_keyword>
</researcher_keywords>
</researcher>
</user>

…并且我希望能够使用foreach循环或类似的由管道字符|

分隔的输出所有<researcher_keyword>

值我可以使用以下代码访问特定的值:$oXML->researcher->researcher_keywords->researcher_keyword[0]->value ?? null;

…但是我如何使用循环输出数组中的内容?

我以为这样的东西会起作用,但运气不好:

$oXML2 = new SimpleXMLElement( $response2 );
...
foreach($oXML2->researcher_keyword as $researcher_keyword){
echo (string)$researcher_keyword['value'];
}

var_dump($oXML2->researcher->researcher_keywords);输出:

object(SimpleXMLElement)#19 (1) { ["researcher_keyword"]=> array(7) { [0]=> object(SimpleXMLElement)#18 (1) { ["value"]=> string(19) "Ancient Mesopotamia" } [1]=> object(SimpleXMLElement)#20 (1) { ["value"]=> string(30) "Ancient Near Eastern religions" } [2]=> object(SimpleXMLElement)#16 (1) { ["value"]=> string(12) "Hebrew Bible" } [3]=> object(SimpleXMLElement)#21 (1) { ["value"]=> string(21) "American religion" } [4]=> object(SimpleXMLElement)#22 (1) { ["value"]=> string(18) "American magic" } [5]=> object(SimpleXMLElement)#23 (1) { ["value"]=> string(23) "American literature" } [6]=> object(SimpleXMLElement)#24 (1) { ["value"]=> string(20) "American thought" } } } 

我可以使用下面的代码,假设永远不会有超过10个关键字,但这不是理想的。

$j = 10;
for($i = 0; $i < $j ; $i++) {
$keyword_r = $oXML2->researcher->researcher_keywords->researcher_keyword[$i]->value ?? null;
echo $keyword_r . "<br>";
}

感谢

使用以下代码:

$s = '<user>
<researcher>
<researcher_keywords>
<researcher_keyword>
<value>Value A</value>
</researcher_keyword>
<researcher_keyword>
<value>Value B</value>
</researcher_keyword>
<researcher_keyword>
<value>Value C</value>
</researcher_keyword>
</researcher_keywords>
</researcher>
</user>';
$oXML2 = new SimpleXMLElement( $s );
foreach($oXML2->researcher->researcher_keywords->researcher_keyword as $word){
echo $word->value . '<br />';
}

最新更新