Php SimpleXML和foreach
我在PHP和XML方面遇到了一些问题。如果需要使用Php SimpleXML和foreach,php,xml-parsing,simplexml,Php,Xml Parsing,Simplexml,我在PHP和XML方面遇到了一些问题。如果需要使用FOREACH从XML源中筛选特定参数,并且特定块不存在,则结果为空。但我需要展示这样的东西:“没有现役” to作为$to){ 如果($to->form=='pswA'&&&$to->heading=='A'){echo“allow”} elseif($to->form='pswA'&&&$to->heading='B'){echo“notallow”} elseif($to->form='pswA'&&&$to->heading='C'){ec
FOREACH
从XML源中筛选特定参数,并且特定块不存在,则结果为空。但我需要展示这样的东西:“没有现役”
to作为$to){
如果($to->form=='pswA'&&&$to->heading=='A'){echo“allow”}
elseif($to->form='pswA'&&&$to->heading='B'){echo“notallow”}
elseif($to->form='pswA'&&&$to->heading='C'){echo“block”}
}//此存在并显示(允许/notallow/block)
foreach($xml->to as$to){
如果($to->form=='pswC'&&&$to->heading=='A'){echo“allow”}
elseif($to->form=='pswC'&&&$to->heading=='B'){echo“notallow”}
elseif($to->form='pswC'&&&$to->heading='C'){echo“block”}
}//但这是空的。。。我怎样才能显示一些回声?
?>
当第二个
foreach
不存在时,是否可以显示消息?此示例和live preview中的更多信息:使用变量跟踪是否找到了活动服务
<?php
$data = '<?xml version="1.0" encoding="utf-8" ?>
<note>
<to>
<form>pswA</form>
<heading>A</heading>
</to>
<to>
<form>pswB</form>
<heading>A</heading>
</to>
</note>';
$xml = simplexml_load_string($data);
foreach ($xml->to as $to){
if ($to->form == 'pswA' && $to->heading == 'A'){echo "allow";}
elseif ($to->form == 'pswA' && $to->heading == 'B'){echo "notallow";}
elseif ($to->form == 'pswA' && $to->heading == 'C'){echo "block";}
} // this exist and show (allow / notallow / block)
foreach ($xml->to as $to){
if ($to->form == 'pswC' && $to->heading == 'A'){echo "allow";}
elseif ($to->form == 'pswC' && $to->heading == 'B'){echo "notallow";}
elseif ($to->form == 'pswC' && $to->heading == 'C'){echo "block";}
} // but this is empty... how can I show some echo?
?>
$xml = simplexml_load_string($data);
$pswA_found = false;
foreach ($xml->to as $to){
if ($to->form == 'pswA' && $to->heading == 'A'){
echo "allow";
$pswA_found = true;
}
elseif ($to->form == 'pswA' && $to->heading == 'B'){
echo "notallow";
$pswA_found = true;
}
elseif ($to->form == 'pswA' && $to->heading == 'C'){
echo "block";
$pswA_found = true;
}
}
if (!$pswA_found) {
echo "No active service for pswA";
}
$pswC_found = false;
foreach ($xml->to as $to){
if ($to->form == 'pswC' && $to->heading == 'A'){
echo "allow";
$pswC_found = true;
}
elseif ($to->form == 'pswC' && $to->heading == 'B'){
echo "notallow";
$pswC_found = true;
}
elseif ($to->form == 'pswC' && $to->heading == 'C'){
echo "block";
$pswC_found = true;
}
}
if (!$pswC_found) {
echo "No active service for pswC";
}