Website Development Prices

Search Blog

Monday, April 25, 2016

Vracanje referenci iz funkcija (Returning references from functions)

Vracanje referenci iz funkcija se desava ako vam je potrebno da "setate" reference po svom kodu. Reference ukazuju na istu lokaciju u glavnoj memoriji. 

Primer: ako promenljivu $vrednost podesite na 4, mozete da napravite referencu na tu promenljivu.

$vrednost = 4;

$referenca = & $vrednost;

Objasnjenje: sada je $referenca referenca na $vrednost, tako da ukazuje na isti podatak u memoriji kao i $vrednost. Ako promenite jedno, menjate i drugo.

Primer 2: kako radi program koji vraca reference iz funkcije. Kreiracemo funkciju koja ce uzeti referencu i samo vratiti tu referencu.

function &vrati_referencu(& $referenca){
return $referenca;

}

Objasnjenje: ova funkcija vraca referencu, tako ispred imena funkcije koristite znak &.

Takodje, znak &, cete koristiti i kada uzimate vrednost iz funkcije koja vraca referencu.

Primer 3: pravimo referencu na $vrednost, koju cemo proslediti u funkciju i koristicemo tu referencu da povecamo vrednost koja se nalazi u promenljivoj $vrednost.


<?php

$vrednost = 4;
echo "Stara vrednost: ", $vrednost, "<br />";

$referenca =& vrati_referencu($vrednost);
$referenca++;
echo "Nova vrednost: ", $vrednost, "<br />";

function &vrati_referencu(& $referenca){
return $referenca;

}

?>

Rezultat:

Stara vrednost: 4
Nova vrednost: 5


Objasnjenje: rezultat pokazuje da mozemo da povecamo vrednost promenljive $vrednost za 1 tako sto cemo pristupiti referenci.

Returning references from functions happens if you need to "walk" references in your code. References point to the same location in the main memory.

Example: if you set the variable $value to 4, you can make a reference to that variable.

$value = 4;

$reference = & $value;

Explanation: now $reference references to the $value to point to the same data in memory as well as the $value. If you change one, you change the other.

Example 2: how program works that returns a references from a function. We will create a function that will take a reference and only return a reference.

function &return_reference(& $reference){
return $reference;
}

Explanation: this function returns a reference, so in front of the function name use sign & - ampersand.

Also, sign &, you will use when you take the value from the function that returns a reference.

Example 3: we will create reference to the $value, which we will forward to function and we will use this reference to increase the value which is in the variable $value.

<?php

$value= 4;
echo "Old value: ", $value, "<br />";

$reference =& return_reference($value);
$reference++;
echo "New value: ", $value, "<br />";

function &return_reference(& $reference){
return $reference;

}

?>

Result:

Old value: 4
New value: 5



Explanation: the result shows that we can increase the value of $value by 1, by accessing the reference.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.