Autor Zpráva
Janvesely12
Profil
Mám menší problém, potřebuji rozdělit nějaký dlouhý kód do dvou částí a poté vybrat jeden kousek.

Mám např. tento kód:
Útočník:
Bodů: 100
Vojenské body: 100

Obránce:
Bodů: 50
Vojenské body: 100

Potřebuji dát do proměnných čísla, které se měni někdy to je 100 a někdy 152. A potom taky nastává probém, když není dvojtečka, protože nemám oddělovač. Takže nemám zdání jak to udělat.
Děkuji

EDIT: Kdyby se mi podařilo uložit do proměnné odstavec útočník a potom obránce, tak bych to asi zvládl. Problém je, že to co je předtím se taky mění, takže podle počtu to udělat nemůžu a ani nevím jestli to jde.
Alphard
Profil
Kombinace explode() a práce s poli.
Nebo regulární výrazy.
Janvesely12
Profil
Dík, zkusím pohledat, s explode jsem už někdy dělal. Ale nevím jak to mám udělat. Zkusím pohledat.

EDIT: Vůbec netuším jak to mám udělat. :(
Louka
Profil
Snad to chápu dobře, jen zkusím...

<?php

     $vysledek = array();
     $typ="";

     $radky = explode("\n", $kod);

     foreach($radky as $index => $radek)
     {
          if($radek=="Útočník:") $typ = "utocnik";
          else if($radek=="Obránce:") $typ = "obrance";
          else 
          {
               $tmp = explode(":",$radek);
               if(trim($tmp[0])=="Bodů" && $typ!="") $vysledek[$typ]["bodu"] = trim($tmp[1]);
               if(trim($tmp[0])=="Vojenské body" && $typ!="") $vysledek[$typ]["vojenske_body"] = trim($tmp[1]);
          }
     }

?>

A získáš něco jako
$vysledek = array (
     "utocnik" => array (
          "bodu" => 100,
          "vojenske_body" => 100
     ),

     "obrance" => array (
          "bodu" => 50,
          "vojenske_body" => 100
     )
);
Janvesely12
Profil
A jak to mám vypsat? Třeba když chci u Obránce vypsat vojsenské body.
BuGeR
Profil
Janvesely12:
echo $vysledek["obrance"]["vojenske_body"];
SeparateSK
Profil
Takto : <?php echo $vysledek["obrance"]["vojenske_body"]; ?> samozrejme s použitím kódu od Louky
Edit: BuGeR ma predbehol

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0