Dec*_*out 2 php simplexml implode
我制作了一些 SimpleXMLObject 并将其转换为数组并内爆它们,但结果不是内爆字符串,而是单独的数组的第一个元素。
更有趣的是,它在我的本地服务器(版本为 5.4.4)中按预期工作,但故障发生在我的 php 版本为 5.3.13 的实时服务器中,这就是我的内爆的样子
$im_data = implode( '#', (array)$sync->datas->data);
Run Code Online (Sandbox Code Playgroud)
目标数组如下:
[datas] => SimpleXMLElement Object
(
[data] => Array
(
[0] => AAzdfAA
[1] => BBdBB
[2] => BBDD
[3] => CCCCzsdfC
)
)
Run Code Online (Sandbox Code Playgroud)
但结果不是 AAzdfAA#BBdBB#BBDD#CCCCzsdfC,而是我的实时服务器中的 AAzdfAA。在我的本地服务器中,它按预期工作:AAzdfAA#BBdBB#BBDD#CCCCzsdfC
我能够在我这边重现您的问题。并使用此解决方法来获得所需的输出:
<?php
$xml = "<xml>
<datas>
<data>AAzdfAA</data>
<data>BBdBB</data>
<data>BBDD</data>
<data>CCCCzsdfC</data>
</datas>
</xml>";
$sync = simplexml_load_string($xml);
$data = (array)$sync->datas;
$im_data = implode( '#', $data['data']);
echo $im_data; //Outputs: AAzdfAA#BBdBB#BBDD#CCCCzsdfC
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。