Autor | Zpráva | ||
---|---|---|---|
gogy27 Profil * |
#1 · Zasláno: 7. 2. 2009, 17:53:52
aka je funkcia v PHP aby som oddelil cisla od textu?
|
||
gogy27 Profil * |
#2 · Zasláno: 7. 2. 2009, 17:55:17
dam ako value napr value="3.20 sunka"
a chcem ododelit cisla od textu chcem mat cislo zvlast v nejakej premennej a aj text |
||
Alphard Profil |
#3 · Zasláno: 7. 2. 2009, 18:21:11
rozdělit podle mezery?
explode() |
||
AM_ Profil |
#4 · Zasláno: 7. 2. 2009, 18:23:48 · Upravil/a: AM_
pomůže ti regulární výraz,
preg_match('/([\\+\\-]?[0-9]+\\.?[0-9]*) (.*)/', $value, $matches) //EDIT: pokud se v textové části nevyskytují další mezery, je Alphardovo řešení jednodušší ;) |
||
gogy27 Profil * |
#5 · Zasláno: 7. 2. 2009, 18:33:32
ale explode pracuje s poliami ci nie?
|
||
dRaGen Profil |
#6 · Zasláno: 7. 2. 2009, 18:38:11
Explode vezme string a rozdělí ho dle zadanýho znaku do pole ...
$neco = explode(" ","Ahoj svete tady na jakpsatweb"); print_r($neco); //neco[0] = "Ahoj" neco[1] = "svete" neco[2] = "tady" ... |
||
Alphard Profil |
#7 · Zasláno: 7. 2. 2009, 18:43:48 · Upravil/a: Alphard
možností je více, i kdyby tam byly mezery, lze použít např.
$p = explode (" ", $retezec); $cislo = array_shift ($p); $retezec = implode (" ", $p); nebo regulár od AM_ (nekontroloval jsem, ale věřím mu), ale opět vám vrátí pole |
||
gogy27 Profil |
#8 · Zasláno: 7. 2. 2009, 18:45:35
trosku komentar ku tomu skriptu :P by si nemohol dat?
|
||
Medvídek Profil |
#9 · Zasláno: 7. 2. 2009, 18:57:07
|
||
gogy27 Profil |
#10 · Zasláno: 7. 2. 2009, 19:10:48 · Upravil/a: gogy27
function rozdel ($vstup) { $value = $dodatok.$vstup; $vystup = $matches.$vstup; preg_match('/([\\+\\-]?[0-9]+\\.?[0-9]*) (.*)/', $value, $vystup); echo $vystup[1]. "<br>"; echo $vystup[2]. "<br>"; echo $vystup[6]. "<br>"; echo $vystup[4]; } skusam to takto riesit ale nejak nic nevypise tu je nazorna ukazka mozte si to vyskusat http://www.patolog.wz.cz/prilohy.php |
||
gogy27 Profil |
#11 · Zasláno: 7. 2. 2009, 19:36:20
newiem ci robim nieco zle alebo mam skusit iny priklad z hore uvedenych
|
||
Alphard Profil |
#12 · Zasláno: 7. 2. 2009, 19:36:24
$dodatek a $matches berete kde? pozor, nejsou globální
$vystup = $matches.$vstup; je imho zbytečné a pak výběr 1, 2, 6 a 4? jak to má fungovat? |
||
AM_ Profil |
#13 · Zasláno: 7. 2. 2009, 19:38:18 · Upravil/a: AM_
function rozdel ($vstup) { preg_match('/([\\+\\-]?[0-9]+\\.?[0-9]*) (.*)/', $vstup, $vystup); echo $vystup[1]. "<br>"; echo $vystup[2]. "<br>"; } rozdel("3.30 rohlik"); Takhle by to mohlo fungovat. Ty nesmysly okolo, cos tam napsal, sem ani nepochopil co maji delat :) //EDIT: ale jeste spis bys v te funkci misto echo mel psat treba $vysledek .= a nakonec return $vysledek a pak echo rozdel(...), jestli vis, oc myslim, ono echovat primo ve funkci neni idealni :) |
||
gogy27 Profil |
#14 · Zasláno: 7. 2. 2009, 19:39:41
function priloha ($id, $value, $nazovPrilohy, $cena)
{ echo '<input type="checkbox" name="dodatok'.$id.'" value="' .$value. '">'. $nazovPrilohy.' '.$cena.' €<br />'; } je to lamacke ale mi nechcelo ist ako pole |
||
AM_ Profil |
#15 · Zasláno: 7. 2. 2009, 19:43:11
ted vubec nechapu co jsi napsal. a] co ti nechtelo jit jako pole? b] pekny kod, a co s nim? :)
|
||
gogy27 Profil |
#16 · Zasláno: 7. 2. 2009, 19:45:22 · Upravil/a: gogy27
to malo patrit k vysvetleniu ALPHARD ze skade mam tie premenne
a ako pole mi nechcelo ist dodatok[] |
||
AM_ Profil |
#17 · Zasláno: 7. 2. 2009, 19:50:25
aha, sry, Alphardova prispevku jsem si nevsiml.
|
||
gogy27 Profil |
#18 · Zasláno: 7. 2. 2009, 19:52:07
DAKUJEM PEKNE UZ MI TO FACHA :)
|
||
gogy27 Profil |
#19 · Zasláno: 7. 2. 2009, 20:11:48
Mam este jeden problem bol by som rad keby niekto pomohol tak ako nedavno :)
Mam taku funkciu function priloha ($value, $nazovPrilohy, $cena) { echo '<input type="checkbox" name="dodatok[]" value="' .$value. '">'. $nazovPrilohy.' '.$cena.' €<br />'; } a potom volam priloha ('1,50 sunka', 'Šunka', '1.50'); priloha ('1,50 salsma', 'Saláma', '1.50'); priloha ('1,50 slanina', 'Slanina', '1.50'); priloha ('1,50 klobasa', 'Klobása', '1.50'); priloha ('1,50 tuniak', 'Tuniak', '1.50'); ...... ako potom oddelit to cislo od textu ked si vyberie prilohu |
||
AM_ Profil |
#20 · Zasláno: 7. 2. 2009, 20:26:03
uplne stejne, a v te value bych pouzival spis tecku nez carku, PHP bere jako oddelovac desetinne casti tecku takze bys to stejne v kodu musel nekde prevest.
|
||
gogy27 Profil |
#21 · Zasláno: 7. 2. 2009, 20:29:21
a netreba to pole dajak pomocou foreach prechadzat?
|
||
Alphard Profil |
#22 · Zasláno: 7. 2. 2009, 20:47:44
gogy27
kdyby jste si vytvořil strukturu, např. $vyrobky = array( 1 => array("šunka", 1.5), 2=> array("Klobása", 1.5) ); tak to můžete v cyklu snadno vypsat a do value nacpat klíč, v ukázce 1 nebo 2, podle kterého potom snadno najdete výrobek i cenu |
||
Časová prodleva: 15 let
|
0