Bonjour a tous,
je n'arrive pas a afficher mon explode, je ne vois pas ou est le probleme...
voici mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| $new_file = "./xml/exportftp.xml";
$old_file = "./xml/111212-exportftp.xml";
$xml = simplexml_load_file($new_file);
$xml2 = simplexml_load_file($old_file);
$first = $xml->xpath("//Contact");
$second = $xml2->xpath("//Contact");
function recup($xM){
$ret_xM1 = array();
foreach($xM as $element)
$ret_xM1[] = (string)$element->n[1]["valeur"].';'.(string)$element->n[2]["valeur"].';'.(string)$element->n[3]["valeur"].';'.(string)$element->n[4]["valeur"].';'.(string)$element->n[5]["valeur"].'<br/>';
return $ret_xM1;
}
$xM1 = recup($first);
$xM2 = recup($second);
/*--- new id present dans new mais pas dans old ---*/
echo "Nouveaux ID de ".$new_file." : <br/><br/>";
foreach($xM1 as $case)
if(!in_array($case, $xM2))
echo $case."<br/>";
/*--- id present dans old mais pas dans new ---*/
echo "Supprime ID de ".$new_file." : <br/><br/>";
foreach($xM2 as $case)
if(!in_array($case, $xM1))
echo $case."<br/>";
/*
explode de xm1
explode de xm2
comparaison et affichage:
*/
function read_xm($xM1){
$data = preg_replace("(\r\n|\n|\r)",'retour_ligne',$xM1);
$ligne = explode('retour_ligne', $data);
$vligne = array();
$vligne[] = explode(';', $ligne);
foreach ($ligne as $line){
$vligne[] = explode(';', $line);
}
return $vligne;
}
$xM=read_xm($xM1);
var_dump($xM); |
fichier xmL :
1 2 3 4 5 6 7 8 9 10 11 12 13
| <Contact>
<n champ="Identifiant orga" valeur="818" />
<n champ="Identifiant contact" valeur="13977" />
<n champ="Nom" valeur="****" />
<n champ="Prénom" valeur="******" />
<n champ="Fonction" valeur="Vice-***** du *** général" />
<n champ="Photo" valeur="35-****-F-***" />
<n champ="Nom du canton" valeur="*** nord-ouest" />
<n champ="Année de renouvellement" valeur="2014" />
<n champ="Téléphone du Conseiller" valeur="****" />
<n champ="Fax du Conseiller" valeur="***" />
<n champ="Mail du Conseiller" valeur="**.***@***.fr" />
</Contact> |
quand j'execute le script, voila ce qui me sort :
array(2) { [0]=> array(1) { [0]=> string(5) "Array" } [1]=> array(1) { [0]=> string(5) "Array" } }
Partager