Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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
如何比较XML上属性的值,并且只回显包含PHP所需字符串的属性?_Php_Xml_Simplexml - Fatal编程技术网

如何比较XML上属性的值,并且只回显包含PHP所需字符串的属性?

如何比较XML上属性的值,并且只回显包含PHP所需字符串的属性?,php,xml,simplexml,Php,Xml,Simplexml,这是一个关于XML的示例(我使用SimpleXML,我希望保持这种方式) 结果如下: AFALSEBSFALSECFALSEDTRUEFALSEFALSE 现在我想做的是:遍历所有属性,找出哪一个是真的,并只将真的属性保存到变量中 这意味着结果应该是: D(因为这是一个值为true的值) 有什么想法吗?一个完整的新代码也是可以接受的。正如我所提到的,我使用SimpleXML,所以只有当涉及SimpleXML时,请给出您的答案 foreach($energy as $key => $e

这是一个关于XML的示例(我使用SimpleXML,我希望保持这种方式)

结果如下:

AFALSEBSFALSECFALSEDTRUEFALSEFALSE

现在我想做的是:遍历所有属性,找出哪一个是真的,并只将真的属性保存到变量中

这意味着结果应该是:

D(因为这是一个值为true的值)

有什么想法吗?一个完整的新代码也是可以接受的。正如我所提到的,我使用SimpleXML,所以只有当涉及SimpleXML时,请给出您的答案

   foreach($energy as $key => $ener){
        if ($ener == 'true') {
            echo $key;
        }
    }

像这样

如果statement@Ghost这看起来怎么样?if语句很容易说,但这是如何实现的?您的解决方案有效。但不是使用==(相同),而是使用==(相似)。如果需要,可以更改它。为了完整性,
(string)$ener===“true”
也应该可以使用。
$energyR = $xml->foo->foo1->energy[0]->attributes();
foreach($energy as $key => $ener){
 echo $key, $ener;
}
   foreach($energy as $key => $ener){
        if ($ener == 'true') {
            echo $key;
        }
    }