Tutoriale PHP
  Comunitatea PHP Romania
 

 
Tutoriale PHP
Articol
Index / Introducere in PHP / Articol
Dubla indirectare ($$)
de

Situatie: off off off off off
Vezi comentariiDiscuta acest articol (0 comentarii)
TiparesteTipareste
Adauga la favorite-Doar pentru membriiAdauga la favorite
Bogdan


Stim deja ca oricarei variabile i se poate atribui o valoare, de forma:

$variabila = 3;

sau

$variabila2 = "Hello world!";

Ei bine, cand dorim ca 'numele' variabilei sa fie in functie de o variabila? (de exemplu transmisa de utilizator printr-un formular - desi dau acest exemplu doar ca sa se inteleaga, nu e bine in general sa ne incredem in ceea ce ne poate transmite utilizatorul, ci trebuie sa verificam aceasta foarte bine, din motive de siguranta)

De exemplu, variabila $myvar = 'alta';

Bun, pana aici stim ce se intampla, nu?

Daca scriem in programul nostru:

echo $myvar;

va aparea: alta

daca insa facem asa:

$alta = 'Hello world!';
$myvar = 'alta';
echo $$myvar;

Ce credeti ca se intampla? Ati ghicit nu-i asa?
Se va afisa: Hello world!

Pe scurt, dar cam complicat, simpla si dubla indirectare se poate rezuma asa:
-simlpa indirectare: foloseste valoarea variabilei curente
-dubla indirectare: foloseste valoarea variabilei cu numele continut in variabila curenta

PS. am gasit acest lucru foarte util cand am avut nevoie de a genera vreo 200 de nume de variabile pentru javascript, intr-un formular cu multe date de luat, de forma:
document.myform.camp001.value = ..
document.myform.camp002.value = ..

Sus


Trimis de : N/AData intrarii : 20 August 2003Nivel : incepator


[ Profil autor ]
Bogdan

Gazduire

Tutoriale

Discuta in forum

Parteneri

Copyright © 2001-2008 PHP Romania Add PHPRomania to Google Add PHPRomania to Del.icio.us Add PHPRomania to Stumbleupon Add PHPRomania to Yahoo! Add PHPRomania to Digg Add PHPRomania to Blink Cheap Car Insurance | Advertising | Repair Bad Credit | Mortgage Loans | Car Loan
Ads: Partener Way2Web Nework: gazduire web | inregistrare domenii | web design | imobiliare | web hosting
Powered by Simplis