Atribuirea prin referinta se face folosind semnul "&" in fata variabilei.
- Exemplu:
$x = 'abc';
$y = &$x;
echo $y;         // abc
Atribuirea prin referinta e mai mult decat o simpla atribuire de valoare, de fapt leaga intre ele cele 2 variabile pe parcursul scriptului. Astfel, daca se modifica ulterior valoarea uneia dintre variabile, se transmite si la cealalta.

Exemplu (vedeti comentariile din cod):
<?php
$x = 'MarPlo.net';
$y = &$x;

echo $y;      // MarPlo.net

// Se modifica valoarea lui $x, si va afecta si pe $y
$x = 'CoursesWeb.net';

echo '<br/>'. $y;    // CoursesWeb.net

// Se modifica valoarea lui $y, se schimba si la $x
$y = 'php.net';

echo '<br/>'. $x;      // php.net
?>

Atribuire prin referinta si functii

Atribuirea prin referinta se transfera si de la variabile (parametru) definite in interiorul unei functii catre variabila din exterior transmisa la apelare, daca se adauga caracterul "&" la parametru functiei cand e definita. Va afecta orice variabila folosita ca argument pentru acel parametru la apelare.

- Exemplu, variabila folosita ca argument la apelare e afectata /modificata si ea de valoarea respectivului parametru definit cu "&":
<?php
function foo(&$a) {
  $a = $a + 2;
}

$x = 7;

// Se apeleaza functia cu variabila $x la argument
// Parametrul lui foo() avand caracterul "&", va transmite ultima valoare a lui ( setata in corpul functiei) si in exterior, la $x

foo($x);
echo $x;      // 9
?>

.Dupa cum observati, atribuirea prin referinta poate crea situatii /efecte destul de complexe, de aceea este indicat a se evita folosirea ei, mai ales la incepatori.


Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag HTML5 defineste un text marcat, evidentiat?
<mark> <embed> <span>
<p>Cursuri graruite: <mark>MarPlo.net</mark> , jocuri, anime.</p>
Ce pseudo-clasa CSS defineste un stil la element cand mouse-ul e deasupra lui?
:focus :hover :active
a:hover {
  font-weight: bold;
  color: #00da01;
}
Clic pe functia ce returneaza un sir cu un numar rotunjit la x decimale.
toPrecision(x) toFixed(x) floor(x)
var num = 12.34567;
num = num.toFixed(2);
alert(num);       // 12.35
Indicati functia PHP care adauga continutul unui fisier intr-un array.
[) file() readfile()
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
var_export($arr);
Clic pe raspunsul potrivit la intrebarea: "What time is it?"
On the 7th of July 1996 It is a quarter to 5. Nice weather.
What time is it? It is a quarter to 5.
- Cat este ora? E 5 fara un sfert.
Indicati raspunsul potrivit la intrebarea: "¿Qué hora es?"
Hace buen tiempo. En el 7 de julio de 1996 Son las tres menos cuarto.
¿Qué hora es? Son las tres menos cuarto.
- Cat este ora? E 3 fara un sfert.
Atribuire valoare prin referinta

Last accessed pages

  1. Curs PHP MySQL, Tutoriale si Scripturi PHP (48912)
  2. Accesare elemente din form (407)
  3. Curs si Tutoriale Ajax (35733)
  4. Blog si Cugetari Personale (35311)
  5. Utilizare Cookie in JS (493)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1588)
  2. Curs HTML gratuit Tutoriale HTML5 (1190)
  3. Curs PHP MySQL, Tutoriale si Scripturi PHP (1142)
  4. Curs si Tutoriale Ajax (1056)
  5. Curs si Tutoriale JavaScript (1049)