• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

simplexml_load_file a wykrywanie duplikatów

Object Storage Arubacloud
0 głosów
177 wizyt
pytanie zadane 19 września 2017 w PHP przez sc4rface Dyskutant (7,710 p.)

Siemaneczko, mam krótkie, aczkolwiek psujące mi pracę pytanie, mianowicie:

czy istnieje metoda na usunięcie duplikatów z tablicy obiektowej wygenerowanej przez simplexml_load_file? Potrzebuję się ich zwyczajnie pozbyć, bo zaburzają działanie mojego skryptu. Jeżeli natrafi na duplikat, krzaczy się niemiłosiernie.

Tak czy inaczej, przykładowy fragment tablicy z duplikatem wygląda w ten sposób:


SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [file_format] => IOF
            [version] => 2.6
        )

    [products] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [language] => eng
                )

            [product] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [id] => 8
                                    [code_on_card] => 1234
                                )
                        )       
                )
            )

            [product] => Array
                (
                    [1] => SimpleXMLElement Object
                        (
                            [@attributes] => Array
                                (
                                    [id] => 9
                                    [code_on_card] => 1234
                                )
                        )       
                )
            )
)           

Dublują się wartości code_on_card, w jaki sposób mogę odsiać duplikaty?

1 odpowiedź

0 głosów
odpowiedź 19 września 2017 przez Chess Szeryf (76,710 p.)
<?php 

$web_config = simplexml_load_file('avrack.xml');

$result = $web_config->xpath("//product/@code_on_card");
foreach($result as $node) {
	unset($node[0]);
}
print_r($web_config);

?>

 

komentarz 25 września 2017 przez sc4rface Dyskutant (7,710 p.)
Niestety, otrzymuję pustą tablicę.
komentarz 25 września 2017 przez Chess Szeryf (76,710 p.)
edycja 25 września 2017 przez Chess
$result = $web_config->xpath("product/@code_on_card");
<?php 
 
$web_config = simplexml_load_file('avrack.xml');
$result = $web_config->xpath("product/@id");;

foreach($result as $node) {
	print_r($node);
}
 
?>
<?php
$doc = simplexml_load_file('avrack.xml');

for($i=0;$i<=1;$i++){
	unset($doc->product[$i]['code_on_card']);
}

print_r($doc);
?>

 

Podobne pytania

0 głosów
1 odpowiedź 151 wizyt
0 głosów
3 odpowiedzi 313 wizyt
0 głosów
1 odpowiedź 231 wizyt
pytanie zadane 17 stycznia 2017 w JavaScript przez dkarski Obywatel (1,610 p.)

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...