PHP:将属性添加到不带引号的对象
我试图用SimpleXML解析一个对象,方法如下:PHP:将属性添加到不带引号的对象,php,simplexml,Php,Simplexml,我试图用SimpleXML解析一个对象,方法如下: foreach ($segment->attributes() as $name => $value) { $this->{$name} = $value->__toString(); } 我得到的结果是: ...\Segment {#2203 +"id": "207" +"sequence": "1" +"D
foreach ($segment->attributes() as $name => $value) {
$this->{$name} = $value->__toString();
}
我得到的结果是:
...\Segment {#2203
+"id": "207"
+"sequence": "1"
+"DayOfWeekInd": "2"
+"CodeShare": "false"
...
}
我的问题是在属性名称上添加了双引号
我想换成这个:
...\Segment {#2203
+id: "207"
+sequence: "1"
+DayOfWeekInd: "2"
+CodeShare: "false"
...
}
有什么解决办法吗
非常感谢
编辑:
我真的很困惑,因为当我做一些测试时,它工作得很好(),问题只发生在我正在处理的应用程序之外的上下文中。(Laravel应用程序)问题可能与XML源有关。我会努力清理它来解决这个问题。无论如何,谢谢你;) 引号可能是用XML编码的,PHP没有理由只添加它们。您可以使用
str\u replace()
或trim()
来清除它们。感谢您抽出时间!我已经试过这样的方法:$this->{trim($name,“\””)}=$value->\uuu-toString();
不起作用……效果很好:我会运行var\u-dump($name)
——它可能不包含您认为它的功能。print\r($this)
在循环之后。引号可能只是显示它们是字符串。您好,请您将您的问题显示为-包括一个小XML示例、一些代码解析以及测试结果的方式。不清楚您显示的输出是什么函数,以及引号是否真的是obj的一部分ect,或者只是函数显示所有属性名称的方式。