Zadejte hledaný výraz...

PHP – Array

Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
21. 9. 2010 16:20:13
Zdravím,
Chci se zeptat k čemu se v php používá a hlavně, kde se nejčastějí využívá funkce array. Vygooglil a něco jsem si přečetl na orig. stránkách php, ale vůbec nevím která bije.
Díky za odpovědi.
21. 9. 2010 16:20:13
https://webtrh.cz/diskuse/php-array/#reply560627
je to pole
http://www.tvorba-webu.cz/php/pole.php
21. 9. 2010 16:27:38
https://webtrh.cz/diskuse/php-array/#reply560626
Senky
verified
rating uzivatele
(4 hodnocení)
21. 9. 2010 17:04:35
Ťažko povedať presne, na čo sa pole v PHP využíva. Poviem ti teda, kde ho najčastejšie využívam ja - chybové hlášky pri formulároch. Formulár má 5 input-ov, každý musí byť nejako validovaný. Ak nastane chyba, pridám do poľa $errors nejakú hlášku (napríklad - Email nemá správny formát). Potom na konci skontrolujem, či je pole prázdne (if(empty($errors)){}), a keď nie je, tak vyplním premennú, ktorou potom vypíšem chyby na stránke template:
$error = implode('
', $errors);
výsledok?:
Musíte zadať užívateľské meno!
Email nemá správny formát!
Heslá sa nezhodujú!
21. 9. 2010 17:04:35
https://webtrh.cz/diskuse/php-array/#reply560625
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
21. 9. 2010 17:30:11
aha to je super to se mi zrovna hodi.. a mam meněí dotaz.. když mam select s 5ti možnsoti a value mam na 1-5.. podle navodu jsem si array nastavil takto
$arr = array(1 => $slot=1, $slot=2, $slot=3, $slot=4, $slot=5);
echo $arr];
zkoušel jsem to už všemi zbůsoby, ale nejde mi to.. jak mám do toho array vložit k 1 post-u 2 pormenne? 1 de (viz výše) ale ja bych tam potreboval 2 jak na to?
21. 9. 2010 17:30:11
https://webtrh.cz/diskuse/php-array/#reply560624
Senky
verified
rating uzivatele
(4 hodnocení)
21. 9. 2010 17:34:53
Takto to nikdy nerob. Ak chceš hodnotu 1-5, tak do input-u vlož value="x", ale nie cez pole v PHP. Keď, tak v PHP over, či je to číslo, a či je v rozmedzí od 1 do 5, ale nevypĺňaj to takto, pretože sa môže stať, že dostaneš hodnotu 0 (ak $_POST nebude existovať, tak echo bude 0, a teda prázdna hodnota)
21. 9. 2010 17:34:53
https://webtrh.cz/diskuse/php-array/#reply560623
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
21. 9. 2010 17:38:39
a jak si mám zkrátit tot, abych nemusel otročit typem
if($_POST==1){
$slot = 1;
}elseif($_POST==2){
$slot = 2;
}elseif($_POST==3){
$slot = 3;
}elseif($_POST==4){
$slot = 4;
}elseif($_POST==5){
$slot = 5;
}
Příde mi to zbytečně zábírání řádku v souboru...
21. 9. 2010 17:38:39
https://webtrh.cz/diskuse/php-array/#reply560622
Senky
verified
rating uzivatele
(4 hodnocení)
21. 9. 2010 17:42:32
Aj je :).
Urob to takto (aspoň ja by som to asi urobil tak nejako):
if((int) $_POST<6 && (int) $_POST>0)
{
$slot = (int) $_POST;
}
21. 9. 2010 17:42:32
https://webtrh.cz/diskuse/php-array/#reply560621
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
21. 9. 2010 17:44:25
z toho zápisu vyčtu jen to, že můžu radši udělat
$slot = $_POST;
co když $_POST bude 1-5, ale ve $slot budu chtut nejaky text?
EDIT: samozrejme diky, ze mi pomahas toho si vazim a nechci tu narazet na neco, protože nejsem taky všeználek a neznám ani funkci (int) :)
21. 9. 2010 17:44:25
https://webtrh.cz/diskuse/php-array/#reply560620
Predstav si pole jako sachovnici. Na policko a1 postav vez, a2 kjezdce, a3 strelce atd... Cele rada "a" je pole, ktere uchovava hodnoty. Tedy a = array(1=>'vez', 2=>'jezdec', 3=>'strelec') atd.. Zavolas-li a(2) mas jezdce. S polem se pracuje pomoci mnoha funkci http://www.php.net/manual/en/ref.array.php, muzes obsah pole ruzne tridit, radit, vyhledavat. Priklad pouziti: vytvoris si pole s nazvem $bus_zastavky, ktere bude obsahovat vsechny zastavky.
$bus_zastavky(1=>'horni'2=>,'stredni',3=>'dolni');
Budes-li chtit vytisknout treti zastavku zadas :
print $bus_zastavky(3);
Budes-li chtit seradit zastavky podle abecedy, pouzijes funkci sort()
sort($bus_zastavky);
nyni ti
print $bus_zastavky(3);
vypise 'stredni'
Pole je uloziste informaci.
21. 9. 2010 17:46:05
https://webtrh.cz/diskuse/php-array/#reply560619
Senky
verified
rating uzivatele
(4 hodnocení)
21. 9. 2010 17:48:17
Z toho, čo som napísal, sa dá dosiahnuť to, že do $slot sa zapíše integer hodnota (iba celé čísla) z $_POST. Ak ti (int) dáš preč, tak tam môžeš mať akýkoľvek text (PHP sám vie rozoznať typ premennej, takže je to úplne jedno, či tam bude int, float, string, alebo čokoľvek iné)
21. 9. 2010 17:48:17
https://webtrh.cz/diskuse/php-array/#reply560618
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
21. 9. 2010 17:51:04
to chápu, ale nemůžu si pomoct.. mě ten array příjde uplně zbytečny.. přece místo print $bus_zastavky(3); už rovnou napíšu echo "dolni"; nemůžu si pomoct, ale příde mi to jako volání těch zadaných array ručně.. tak to už ručně napíšu to echo...
21. 9. 2010 17:51:04
https://webtrh.cz/diskuse/php-array/#reply560617
Senky
verified
rating uzivatele
(4 hodnocení)
21. 9. 2010 18:03:02
Keď budeš robiť obrovské skripty, tak pochopíš :) ... Napríklad sa pozri na môj prvý príklad. Chcel by si na konci testovať v podmienke každú jednu premennú, až tak vykonať nejakú akciu? Mne príde jednoduchšie otestovať iba empty hodnotu jednej premennej... Každopádne keď ti to je teraz zbytočné, tak ti len prajem aby si sa zdokonaľoval, potom pochopíš...
21. 9. 2010 18:03:02
https://webtrh.cz/diskuse/php-array/#reply560616
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
21. 9. 2010 21:19:17
super už to trochu chápu a předělávám nějaké ty moje kódy na array a je to celkem praktičtější takže díky za pomoc hoši :) reputace up.
At nezakládám nový zbytečný topic zeptám se zde, jak mám přes javascript přesměrovat uživatele někam jinam ALE třeba po uplynutí 3 sekund? mám kod co presmeruje ihned, ale nemůžu najít, aby to redirectlo po 3s. nemáte někdo? :)
Díky moc za pomoc
21. 9. 2010 21:19:17
https://webtrh.cz/diskuse/php-array/#reply560615
500 milisekund
21. 9. 2010 21:36:49
https://webtrh.cz/diskuse/php-array/#reply560614
Bacon
verified
rating uzivatele
(2 hodnocení)
21. 9. 2010 21:43:26
Napsal denoy;573132
super už to trochu chápu a předělávám nějaké ty moje kódy na array a je to celkem praktičtější takže díky za pomoc hoši :) reputace up.
At nezakládám nový zbytečný topic zeptám se zde, jak mám přes javascript přesměrovat uživatele někam jinam ALE třeba po uplynutí 3 sekund? mám kod co presmeruje ihned, ale nemůžu najít, aby to redirectlo po 3s. nemáte někdo? :)
Díky moc za pomoc
Řešil jsem to nedávno a našel jsem např. CoolRedirect script. Ten byl včetně odpočtu přímo na webu. Re4Derovo řešení je lepší :)
21. 9. 2010 21:43:26
https://webtrh.cz/diskuse/php-array/#reply560613
Pro odpověď se přihlašte.
Přihlásit