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
Ce tip de <input> creaza o paleta de culori pentru selectare culoare?
type="text" type="color" type="date"
<input type="color" name="get_color" />
Care metoda CSS roteste elementul HTML la un anumit numar de grade?
scale() translate() rotate()
#some_id:hover {
  transform: rotate(60deg);
  -ms-transform: rotate(60deg);    /* IE 9 */
  -moz-transform: rotate(60deg);   /* Firefox */
}
Click pe functia care returneaza numarul cel mai mare.
pow() min() max()
var maxn = Math.max(8, 4, 88, 56);
alert(maxn);      // 88
Ce functie previne ca un fisier sa fie inclus mai mult de o data intr-o pagina?
include() include_once() require()
include_once("un_fisier.php");
Care este traducerea corecta pentru: "Ahead of time"?
Peste timp La timp Inainte de vreme
Most people arrived ahead of time.
- Cei mai multi oameni au sosit inainte de vreme (prea devreme).
Indicati traducerea corecta a cuvantului "buenĂ­simo"
mai bun mai putin bun extrem de bun
Este fruto es buenĂ­simo.
- Acest fruct este extrem /nemaipomenit de bun.
Atribuire valoare prin referinta

Last accessed pages

  1. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (90336)
  2. Node.js Lucru cu Fisiere (1102)
  3. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (267751)
  4. Cursuri limba engleza gratuite si lectii online (63384)
  5. Schimbare background (752)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (414)
  2. Gramatica limbii engleze - Prezentare Generala (395)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (368)
  4. Exercitii engleza - English Tests and exercises - Grammar (304)
  5. Prezentul simplu - Exercitii si teste incepatori (264)