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 04:55 | Komunita

    VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.

    Ladislav Hagara | Komentářů: 0
    dnes 03:22 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Pozvánky

    Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | IT novinky

    Samsung představil headset Galaxy XR se 4K Micro-OLED displeji, procesorem Snapdragon XR2+ Gen 2, 16 GB RAM, 256 GB úložištěm, operačním systémem Android XR a Gemini AI.

    Ladislav Hagara | Komentářů: 2
    včera 05:22 | Nová verze

    Před konferencí Next.js Conf 2025 bylo oznámeno vydání nové verze 16 open source frameworku Next.js (Wikipedie) pro psaní webových aplikací v Reactu. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.10. 23:33 | Komunita

    Sovereign Tech Fund oznámil finanční podporu následujících open source projektů: Scala, SDCC, Let's Encrypt, Servo, chatmail, Drupal, Fedify, openprinting, PHP, Apache Arrow, OpenSSL, R Project, Open Web Docs, conda, systemd a phpseclib.

    Ladislav Hagara | Komentářů: 0
    22.10. 13:11 | Nová verze

    Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.

    Ladislav Hagara | Komentářů: 0
    22.10. 05:44 | Nová verze Ladislav Hagara | Komentářů: 2
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (20%)
     (20%)
     (23%)
     (17%)
     (20%)
     (17%)
     (18%)
    Celkem 265 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    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: 756×

    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.