Curs Php-mysql

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 atribut face ca optiunea din <select> sa fie selectata?
checked="checked" selected="selected" disabled="disabled"
<select name="a_name">
 <option value="val1">Optiune 1</option>
 <option value="val2" selected="selected">Optiune 2</option>
</select>
Care din aceste valori CSS creaza culoare gradient pentru fundal?
contain repeat-x linear-gradient
#id {
  background: linear-gradient(top left, #1f1, #fff, #11f);
}
Care cod creaza un array in JavaScript?
[] {} new Object()
var arr = [1, "CoursesWeb.net", "MarPlo.net"];
alert(arr[2]);
Indicati functia PHP folosita pentru redirect la alta pagina.
function() header() switch()
header("Location: http://coursesweb.net/");
exit;
Indicati articolul corect la cuvantul "garden" in propozitia: "... garden is a place with flowers".
An The A
The garden is a place with flowers.
- Gradina este un loc cu flori.
Indicati articolul corect pentru cuvantul: "jardín" (gradina)
la los el
El jardín es un lugar de flores.
- Gradina e un loc cu flori.
Atribuire valoare prin referinta

Last accessed pages

  1. Jokes - Glume, Bancuri, Humor (2) (17325)
  2. Creare Meniu Dublu (2843)
  3. PHP Functii Anonime - Closures (925)
  4. Curs si Tutoriale JavaScript (134779)
  5. Lectia 89, Recapitulare 77-78 (81)

Popular pages this month

  1. Coduri pt culori (122)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (88)
  3. Curs HTML gratuit Tutoriale HTML5 (73)
  4. Elemente principale HTML (40)
  5. Exercitii engleza - English Tests and exercises - Grammar (39)