Hlavní navigace

Názor k článku Regulární výrazy v PHP: Funkce (2) od Autor - TomasDean, junix > souhlas s junixem, forall() je...

  • Článek je starý, nové názory již nelze přidávat.
  • 20. 11. 2003 23:21

    Autor (neregistrovaný)

    TomasDean, junix > souhlas s junixem, forall() je kravina :)
    junix > pokud jde o postup s pouzitim for() a count(), je uplne v poradku.
    Naopak s funkci print_r by to bylo delsi, protoze bychom museli upravovat vystup. Normalni vystup "print eru" by toti vypadal takhle:
    Array ( [0] => Mam [1] => jednu [2] => nohu [3] => k [4] => zemi [5] => koolmou )
    Formatovaci kod by byl daleko delsi nez jednoduche for :)
    Co se tyce Countu, jsi blizko ale v cili :) Pravda je, ze count nepocita prazdne promenne. Problem je v tom, ze vystup splitu nikdy nemuze byl prazdna promena :) Ano, muze to byl promenna s nulovou delkou, tu uz ale Count pocita :) Napr. pokud bychom tedy zadali text "Mam jednu nohu kolmou", mezi nohou a kolmou je 5 mezer => 4 promenne s nulovou delkou, ty vsak count($a) zapocita (bude mit hodnotu 8) a vystup skriptu bude:
    1.slovo: Mam
    2.slovo: jednu
    3.slovo: nohu
    4.slovo:
    5.slovo:
    6.slovo:
    7.slovo:
    8.slovo: koolmou

    Jasne, uznavam, ze 4. 5. 6. 7. slovo nejsou slova. Ale print_r by to nevyresilo, vystup by byl:


    Array ( [0] => Mam [1] => jednu [2] => nohu [3] => [4] => [5] => [6] => [7] => koolmou )

    Takze stiznoust na Count() je uplne bezpredmetna :)

    Cyklus vypisovani pole sice nema s regularnimi vyrazy a tomu jak funguje Split nic spolecneho, ale povazoval jsem za obcanskou povinost toto uvest na pravou miru :)

    K teto prilezitosti pridavam k [^[:alnum]] jeste +, aby nedochazelo ani k tomu, ze by prvky pole meli hodnotu NULL, nez se toho nejakej nuancionista chytne :)

    diky junixu :)