Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在foreach循环中编辑SimpleXML节点_Php_Simplexml - Fatal编程技术网

Php 在foreach循环中编辑SimpleXML节点

Php 在foreach循环中编辑SimpleXML节点,php,simplexml,Php,Simplexml,我试图在循环中编辑节点值。我可以编辑具有唯一名称的节点 $gdNodes->orgName = 'test'; 但是当我在循环中时,当我输出XML时,值不会被保存 foreach($gdNodes->phoneNumber as $phone) { $phone = '1234567'; } 两者都是SimpleXMLElement类对象。我不明白为什么这不是储蓄。它是如何完成的?它不会保存,因为$phone是原始值的标量副本 您应该能够实现以下目标: foreach(

我试图在循环中编辑节点值。我可以编辑具有唯一名称的节点

 $gdNodes->orgName = 'test';
但是当我在循环中时,当我输出XML时,值不会被保存

foreach($gdNodes->phoneNumber as $phone)
{
    $phone = '1234567';
}

两者都是SimpleXMLElement类对象。我不明白为什么这不是储蓄。它是如何完成的?

它不会保存,因为
$phone
是原始值的标量副本

您应该能够实现以下目标:

foreach($gdNodes->phoneNumber as $key => $phone)
{
    $gdNodes->phoneNumber[$key] = '1234567';
}

$key输出“phoneNumber”。看来我得用for循环来完成。非常感谢。