I'm trying to unset a simpleXML object without success. Good records matches but many syntaxes failed to unset(), so I beg explication here^^. The XML looks like :
`...<data number="313" user="001" order="313">
<column>
<parameter name="idcompte" type="cdata"><![CDATA[126]]></parameter>
<parameter name="nomachat" type="cdata"><![CDATA[terreau universel LR]]></parameter>
<parameter name="date" type="cdata"><![CDATA[2005-08-07]]></parameter>
<parameter name="qte" type="cdata"><![CDATA[0.01]]></parameter>
<parameter name="puht" type="cdata"><![CDATA[46.3150]]></parameter>
<parameter name="unit" type="cdata"><![CDATA[m3]]></parameter>
<parameter name="desc" type="cdata"><![CDATA[C5 de 10 tiges]]></parameter>
<parameter name="paye" type="string">1</parameter>
<parameter name="idcat" type="cdata"><![CDATA[048]]></parameter>
<parameter name="culture" type="cdata"><![CDATA[067]]></parameter>
</column>
and an array list all $conditions (0=>array(0=>'idcat, 1=>048), 1=>array(idfourn etc.)) to mix filters on the $object by unseting wrong records.
$good=0;
echo count($obj);
foreach ($obj as $data) {
//$number=$data['number'];
foreach ($data->column->parameter as $b) {
foreach ($conditions as $c) {
if((string)$b['name']==$c[0] and (string)$b==$c[1]){
++$good;
//echo '<i>l\'attribut $bname ('.$b['name'].'='.(string)$b.')</i> soit c0:'.$c[0].' doit etre = à c1:'.$c[1].'<br/>';
}
else{ unset($data); }
}
}
}
echo '<b>'.$good.'</b> results';
echo count($obj);
Unfortunately count() rest the same. Thanks from France for any help.