Výsledky 1 až 3 z 3

Téma: bug v PHP?

  1. #1
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    298

    Standardní bug v PHP?

    nebo je to mozna moje nevzelanost, kazdopadne bych rekl, ze je to chovani prinejmensim tezko ocekavatelne.

    Kód:
    	
    
    //tady zacina dulezita cast kodu
    $obj= array();
    $odcisla = array();
    $cen = array();
    $obd = array();
    $posta = array();
    //tady konci
    $a=0;
    $objednavka_[2]="145&10/2004&156.20&rocni&ne";
    $magazin = 5; //to je jedno, proste aby ten cyklus probehl parkrat.
    while&#40;$a<$magazin&#41;&#58; 	        	
    List&#40;$objX,$odcislaX,$cenX,$obdX,$postaX&#41; = Explode&#40;"&",$objednavka_&#91;$a&#93;&#41;;
    
    
    $obj&#91;$a&#93; = $objX;
    $odcisla&#91;$a&#93; = $odcislaX;
    $cen&#91;$a&#93; = $cenX;
    $obd&#91;$a&#93; = $obdX;
    $posta&#91;$a&#93; = $postaX;
    
    echo $obj&#91;$a&#93;." - ".$objX;
    echo $odcisla&#91;$a&#93;." - ".$odcislaX;
    echo $cen&#91;$a&#93;." - ".$cenX;
    echo $obd&#91;$a&#93;." - ".$obdX;
    echo $posta&#91;$a&#93;." - ".$postaX;
    
    $a++;
    endwhile;
    A PHP se na mul vkus chova dost zvlastne;
    pokud se ta cast oznacena jako "dulezita" nevykona, udela to tohle:

    z neznamyho duvodu u a == 2 (ostatni $objenavka_[$a] jsou prazdny stringy) ty echa vyplivnou neco podivnyho, totiz obj, cen, obd jsou v poradku normalne prirazeny, ale do $odcisla[$a] to priradi jen prvni znak, i kdyz $odcislaX je v poradku cely, a totez s $posta[$a].

    takze kriticke casti outputu vypadaji nejak takhle:
    Kód:
    ...
    1 - 10/2004
    ...
    n - ne

    pokud se vykona je vsechno v poradku.

    Takze kdyz na zacatku nereknu, ze promenna je array(), tak je chovani pri prirazeni nepredvidatelny? Opravte me, pokud se pletu, ale mel jsem za to, ze to neni potreba zvlast rikat. - viz napr:
    Citace Původně odeslal http://www.php.net/types.array
    Creating/modifying with square-bracket syntax

    You can also modify an existing array by explicitly setting values in it.

    This is done by assigning values to the array while specifying the key in brackets. You can also omit the key, add an empty pair of brackets ("[]") to the variable name in that case.

    $arr[key] = value;
    $arr[] = value;
    // key may be an integer or string
    // value may be any value

    If $arr doesn't exist yet, it will be created. So this is also an alternative way to specify an array. To change a certain value, just assign a new value to an element specified with its key. If you want to remove a key/value pair, you need to unset() it.
    verze php je 4.1.2
    setkal se s tim nekdo?
    EDIT: ted jsem zkusil udelat simulaci toho sameho, jen jsem z kodu vytahl relevantni usek, a tam se to chova normalne, tak nevim...
    EDIT2: no, tak jsem o kousek dal, je to tim, ze promenny tehoz jmena ($posta a $odcisla) uz tam dorazily predtim jako stringy z formulare. ale pri te simulaci, kdyz nejkou promennou podstrcim predem, stejne se to chova normalne.
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  2. #2

    Standardní

    ja jsem vzdycky napred rekl, ze je nejaka promenna pole a pak jsem s tim pracoval a to mi nedelalo problemy (ostatne stejne jako tobe). co nechapu je, proc hledas chyby s php verzi 4.1.2, kdyz posledni ctyrkova je 4.3.8 (a ted je uz 4.3.9rc3). zkus upgradovat a pak rekni, jestli to dela porad. ta dokumentace klidne muze neco popisovat, co ve starsi verzi nefungovalo jak chteli a pak to opravili
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  3. #3
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    298

    Standardní

    verze je takova jaka je, a ja s tim nic neudelam. (stalo se to na veci, na ktery delam v praci) proste to nebudu dal resit, a napriste tam vrazim deklaraci pole.
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •