从数据库查询出来的xml格式的字符串$return_xml,用下面的解析后得到了二维数组,但有一些是空值的解析出来成了array,怎么能转换为空字符串''呢?
$value_array = json_decode(json_encode(simplexml_load_string($return_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);首先,有没有解析后就能满足要求,
如果没有的话,怎么再次加工这个$value_array从而把子元素里面的array换成空字符串。
上图吧。
 这是xml文件,
当然处理时我已经转换为字符串。
这是转换后显示的二维数组。我想要的是 [jylx]=>''  也就是直接显示空字符串。请大家别喷,说什么来要代码的,我不是计算机行业的,平时也不做计算机工作,只是爱好。而且我真的是看了一些书,网上搜了很多,没能做到,才来问的。谢谢!

解决方案 »

  1.   

    $s =<<< XML
    <root>
     <item0>
      <a>a</a>
      <b/>
     </item0>
     <item1>
      <a>a</a>
      <b/>
     </item1>
    </root>
    XML;
    $r = json_decode(json_encode(simplexml_load_string($s, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
    print_r($r);
    array_walk($r, function(&$t) {
      foreach($t as $k=>$v) if(is_array($v) && !$v) $t[$k] = '';
    }); 
    print_r($r);处理前Array
    (
        [item0] => Array
            (
                [a] => a
                [b] => Array
                    (
                    )        )    [item1] => Array
            (
                [a] => a
                [b] => Array
                    (
                    )        ))处理后Array
    (
        [item0] => Array
            (
                [a] => a
                [b] => 
            )    [item1] => Array
            (
                [a] => a
                [b] => 
            ))