Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
PHP
Práce s proměnnými
26. ledna 1999, 00.00 | Práce s proměnnými, dynamicky určené jména, přetypování. Příklady použití..
Jak jsme si uvedli v minulém díle, základní práce s proměnnými je velmi jednoduchá a intuitivní. Úvodem tohoto dílu bych rád uvedl několik zvlášností PHP (např. oproti céčku).
Dynamicky určené jméno proměnné
Definujme:
$prom="abc";
a poté
$$prom=3;
Jistě již tušíte co je obsahem zdánlivě nedeklarované proměnné $abc ..(3).
Ale např. při výpisu proměnné nelze k ní přistupovat pomocí $$prom, ale pouze jako ${$prom}.
Tedy
echo ">>$$prom ${$prom}<<";
vytiskne >>$abc 3<<!!
Této vlastnosti lze efektivně využít např. při posílání dat z formuláře, pokud v době psaní scriptu neznáme počet.
Nejprve zašleme počet hodnot ($pocet) pak jednotlivé proměnné s názvem jmenocislo. Opět nejlépe ilustruje příklad:
/*
data ziskane z formulare ..
$pocet=3;
$jmeno0=2;
$jmeno1=3;
$jmeno2=5;
*/
/* suma */
$vysl=0;
for ($i=0; $i<$pocet;$i++)
{
$prom="jmeno$i";
$vysl+=${$prom};
}
echo $vysl;
Typování
PHP jako takové nepoužívá typy proměnných jak je známe z klasických programovacích jazyků. To ale neznamená že proměnné nemůžeme typovat (v některých případech je to i nutností). Většinou se jedná o převod ze stringu na číslo..
$prom="5"; //$prom je string
$prom++; //opet string, s hodnotou "6"
$prom+=1; //ted je to integer, hodnota 6 (== $prom=$prom+1;)
$prom= 2.3 + $prom; //$prom je double 7.3
$prom= 3 + "2 txt"; //prom je int 5
$prom= 3 + "2 text"; //prom je double 5
/* Proc je double? Text obsahuje pismeno 'e' ident.
exponentu a nasledujici text je vyhodnocen jako 0*/
$prom= 3 + "txt 2"; //$prom je int 3
$prom= 3 + "3e2"; //$prom==303
rizene typovani:
$prom = 3;
$neco = (double) $prom;
U přetypování je přípustné převod na:
- (int) (integer) integer
- (real) (double) (float) double
- (string) string
- (array) pole
- (object) objekt
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007