1

这是我的 XML 数据的示例:

<features>
    <bedrooms>1</bedrooms>
    <bathrooms>1</bathrooms>
    <ensuite></ensuite>
</features>

我是这样访问的:

$data->features;

我基本上想让它循环通过,如果它有一个 1 它将它添加到一个数组中。

然后我可以内爆,并得到以下结果:

bedrooms, bathrooms

上面不存在套间,因为它没有套间。

如何循环遍历并将其添加到数组中?

我试过了:

foreach($data->features as $key => $val){
    $features[] = $val;
}

但这不起作用。

谢谢。

4

2 回答 2

1
foreach($data->features as $child){
    foreach ($child as $k => $v){
        if ($v == 1){
            $features[] = $k;
        }
    }
}

这似乎有效,但这是一个好方法吗?

于 2013-02-27T10:05:48.180 回答
0

使用 simplexml:

$lib  = simplexml_load_file("test.xml");
$children = $lib->children()[0];
$features = array();

foreach($children as $node){
  $features[] = $node->title;
}

print_r($features);
于 2013-02-27T10:03:18.477 回答