abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:44 | Bezpečnostní upozornění

    Ubuntu 26.04 patrně bude ve výchozím nastavení zobrazovat hvězdičky při zadávání hesla příkazu sudo, změna vychází z nové verze sudo-rs. Ta sice zlepší použitelnost systému pro nové uživatele, na které mohlo 'tiché sudo' působit dojmem, že systém 'zamrzl' a nijak nereaguje na stisky kláves, na druhou stranu se jedná o možnou bezpečnostní slabinu, neboť zobrazování hvězdiček v terminálu odhaluje délku hesla. Původní chování příkazu sudo

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    včera 21:33 | Komunita

    Projekt systemd schválil kontroverzní pull request, který do JSON záznamů uživatelů přidává nové pole 'birthDate', datum narození, tedy údaj vyžadovaný zákony o ověřování věku v Kalifornii, Coloradu a Brazílii. Jiný pull request, který tuto změnu napravoval, byl správcem projektu Lennartem Poetteringem zamítnut s následujícím zdůvodněním:

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    včera 17:22 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 163 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.3. 15:22 | IT novinky

    Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    21.3. 15:11 | Zajímavý projekt

    Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.

    Ladislav Hagara | Komentářů: 13
    21.3. 04:44 | Zajímavý software

    Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.

    Ladislav Hagara | Komentářů: 0
    20.3. 14:55 | Nová verze

    KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    20.3. 13:22 | IT novinky

    Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.

    Ladislav Hagara | Komentářů: 18
    20.3. 04:44 | Zajímavý článek

    Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).

    Ladislav Hagara | Komentářů: 2
    20.3. 00:33 | Nová verze

    Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1134 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: PHP + SimpleXML objekt v cyklu FOR

    21.9.2009 20:03 Open Mage | skóre: 24 | Lom
    PHP + SimpleXML objekt v cyklu FOR
    Přečteno: 788×

    Ahoj,

    mam potize v importu XML souboru pomoci SimpleXML v PHP. Data jsou bez potizi, ale ke kazdymu zaznamu chci i ID, ktery je jako atribut. Normalne pomoci foreach kdyz nemusim resit pozici "kurzoru" v objektu SimpleXML to jde jak po masle. Ale pokud to delam pro FOR cyklus, jelikoz resim jednotlivy casti a mam na to nejakej algoritmus, kterej to rozdeli a importuje postupne - tak jsou potize. Ilustracni cast kodu vytrzena z kontextu vypada asi takhle:

    $sxml = simplexml_load_file($this->EXTRACT_FOLDER . $this->xmlFile);

    for ($i = $startingWith; $i < $limit; $i++) {
    $vmAtributes = $sxml->ELEMENT[$i]->attributes();
    $vmAtr = $vmAtributes['id'];


    Tenhle kod ovsem nahlasi nize uvedenou hlasku a at delam co delam, proste se touhle jinak beznou cestou nikam nedostavam. Jediny co vim, ze kdyz dam natvrdo jeste pred FOR cyklem treba $sxml->ELEMENT[12345]->attributes() ... tak to projde, ale do cyklu se nejak nedostane zrejme ani samotny objekt SimpleXML - tam uz nezjistim nejen atributy elementu, ale ani vnitrni prvky pomoci inkrementovane hodnoty. Setkal se s tim nekdo? Mozna delam nejak zacatecnickou chybu, o tom, ze bych nemohl volat instanci tridy inicializovanou vne cyklu nejak nevim, ale uz to tak skoro vypada... Uz zacinam byt trochu nervozni :)

    Fatal error: Call to a member function attributes() on a non-object in

    Diky moc,
    Standa

    Stanislav Puffler, DiS. specialista na internet marketing a ecommerce www.openmage.cz tel. 773 565 747

    Odpovědi

    21.9.2009 20:49 error414 | skóre: 12 | blog: error414
    Rozbalit Rozbalit vše Re: PHP + SimpleXML objekt v cyklu FOR

    $myxml ='<?xml version="1.0"?>
    <main  version="1.0">
      <polozky>
          <polozka id="1">
            <cena>25</cena>
            <name>hustej mobil</name>
          </polozka>
          <polozka  id="2">
            <cena>255</cena>
            <name>mycka rybicek</name>
          </polozka>
      </polozky>
    </main>';

     
    $xml = simplexml_load_string($myxml);
    for($i = 0; $i < count($xml->polozky->polozka); $i++){
      echo $xml->polozky->polozka[$i]->cena;
      echo $xml->polozky->polozka[$i]['id'];
    }

    snad ti to pomuze

    22.9.2009 18:04 Open Mage | skóre: 24 | Lom
    Rozbalit Rozbalit vše Re: PHP + SimpleXML objekt v cyklu FOR

    Tyhle varianty uz jsem zkousel, ale kdepak. Pes bude bud zakopanej jinde nebo nevim. Pokud bych ty tvy dva ECHO prikazy mel pred smyckou FOR a misto $i dosadil index v rozsahu, kterej v XML souboru skutecne je, pak se to zobrazi ok. Pokud to samy udelam ve smycce, zobrazi se prazdno... jako by tam fakt ten objekt (u tebe $xml) nebyl viditelnej.

    Stanislav Puffler, DiS. specialista na internet marketing a ecommerce www.openmage.cz tel. 773 565 747
    22.9.2009 18:13 Open Mage | skóre: 24 | Lom
    Rozbalit Rozbalit vše Re: PHP + SimpleXML objekt v cyklu FOR

    Jeste doplnim. Pokud v tom cyklu FOR dam vypsat (ac je to samo blbost) urcitej prvek natvrdo (treba echo $sxml->ELEMENT[100]->PRVEK;), tak to projde. Takze co neumi uvnitr toho cyklu je echo $sxml->ELEMENT[$i]->PRVEK. Nevim ovsem proc, jelikoz zase necham-li echo $i, tak hezky vypise celou tu radu indexu a nema problem. Nemusi byt to $i nejak v uvozovkach nebo neco? Dalsi dulezita informace je, ze takovy kazdy prvek vkladam na danou pozici do pole a to pole pak vlozim jako jeden prvek do hlavniho pole - na konci pruchodu tim FOR cyklem.

    Stanislav Puffler, DiS. specialista na internet marketing a ecommerce www.openmage.cz tel. 773 565 747
    22.9.2009 20:25 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: PHP + SimpleXML objekt v cyklu FOR
    Ta poslední důležitá informace se mi zdá irelevantní, pokud to neumíte ani vypsat, tak je jedno že se to někam snažíte vkládat.

    Hoďte sem ten fragment kódu který před for cyklem vypisuje prvky (s indexy natvrdo), v cyklu vypisuje indexy správně jako čísla ale prvky s daným indexem prázdné. Viděl bych to na nějaký překlep, viditelnost proměnných problém nebude.
    24.9.2009 21:11 Open Mage | skóre: 24 | Lom
    Rozbalit Rozbalit vše Re: PHP + SimpleXML objekt v cyklu FOR

    Tak jsem na to prisel. Chyba byla jak jinak na moji strane, ikdyz dost skryta - do cyklu FOR jsem predaval v ramci OOP hodnoty pro prvni a druhy argument a pri vypsani samotneho id pruchodu cyklem bylo vse ok. Nicmene poradove cislo v SimpleXML objektu je zrejme potreba predavat explicitne jak INT... Tudiz vse vyresilo dosazeni funkce intval:

    for($i = intval($startingWith); $i < intval($limit); $i++) {

    treba to pomuze i nekomu dalsimu. Stane se to zrejme pouze v pripade kdy je FOR v metode, ktera prijima odjinud argumenty $startingWith a $limit. Hledal jsem chybu jinde, nez by clovek cekal, ze bude...

    Stanislav Puffler, DiS. specialista na internet marketing a ecommerce www.openmage.cz tel. 773 565 747

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.