Práce s proměnnými - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

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

 

Tématické zařazení:

 » Rubriky  » PHP  

 » Rubriky  » Web  

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: