Website Development Prices

Search Blog

Saturday, April 23, 2016

Vracanje liste iz funkcije (Returning list from function)

Vracanje liste iz funkcije je koristan nacin da vratite vise vrednosti pomocu samo jednog poziva funkcije. 

Primer: koristicemo istu funkciju iz prethodnog clanka, dupliranje_niza.

function dupliranje_niza($niz)
{
for($indeks_petlje = 0; 
$indeks_petlje < count($niz); 
$indeks_petlje++){

$niz[$indeks_petlje] *= 2;
}

return $niz;
}

Objasnjenje: funkciji je prosledjen niz. Funkcija duplira svaki element niza i vraca niz. Kada se vrati niz mozete ga dodeliti listi promenljivih:

list($prvi, $drugi, $treci, $cetvrti, $peti) = dupliranje_niza($niz);


Objasnjenje: ovim se prvi element niza dodeljuje  promenljivoj $prvi, drugi element promenljivoj $drugi, itd.

Nastavak primera : na kraju, stampanje vrednosti promenljivih.

<?php


$niz = array(1, 2, 3, 4, 5);

list($prvi, $drugi, $treci, $cetvrti, $peti) = dupliranje_niza($niz);

echo "\$prvi: $prvi<br />";
echo "\$drugi: $drugi<br />";
echo "\$treci: $treci<br />";
echo "\$cetvrti: $cetvrti<br />";
echo "\$peti: $peti<br />";

function dupliranje_niza($niz)
{
for($indeks_petlje = 0; 
$indeks_petlje < count($niz); 
$indeks_petlje++){

$niz[$indeks_petlje] *= 2;
}

return $niz;
}

?>
 

Rezultat:

$prvi: 2
$drugi: 4
$treci: 6
$cetvrti: 8
$peti: 10

Primer 2: ako zelite samo 3 elementa iz niza koji se vraca:

<?php

$niz = array(1, 2, 3, 4, 5);

list($prvi, $drugi, $treci) = dupliranje_niza($niz);

echo "\$prvi: $prvi<br />";
echo "\$drugi: $drugi<br />";
echo "\$treci: $treci<br />";

function dupliranje_niza($niz)
{
for($indeks_petlje = 0; 
$indeks_petlje < count($niz); 
$indeks_petlje++){

$niz[$indeks_petlje] *= 2;
}

return $niz;
}

?>


Rezultat:

$prvi: 2
$drugi: 4
$treci: 6

Napomena: ne mozete direktno da iz funkcije vratite listu.

Primer 3:

<?php

$niz = array(1, 2, 3, 4, 5);

list($prvi, $drugi, $treci, $cetvrti, $peti) = dupliranje_niza($niz);

echo "\$prvi: $prvi<br />";
echo "\$drugi: $drugi<br />";
echo "\$treci: $treci<br />";
echo "\$cetvrti: $cetvrti<br />";
echo "\$peti: $peti<br />";


function dupliranje_niza($niz)
{
for($indeks_petlje = 0; 
$indeks_petlje < count($niz); 
$indeks_petlje++){

$niz[$indeks_petlje] *= 2;
}

return list($niz[0], $niz[1], $niz[2], $niz[2], $niz[4]);

}

?>

Returning list from function is useful way to return more values using a single call to the function.

Example: we will use the same function in the previous article, array_duplication.

function array_duplication($array)
{
for($loop_index = 0; 
$loop_index < count($array); 
$loop_index++){

$array[$loop_index] *= 2;
}

return $array;
}

Explanation: array is passed to the function. Function doubles each element of the array and returns array. When you return array, you can assign it to list of variables:

list($first, $second, $third, $fourth, $fifth) = array_duplication($array);
Explanation: first element of the array is assigned to the variable $first, second element to the variable $second, and so on.

continuation of  example: at the end, printing the values of variables.

<?php

$array = array(1, 2, 3, 4, 5);

list($first, $second, $third, $fourth, $fifth) = array_duplication($array);

echo "\$first: $first<br />";
echo "\$second: $second<br />";
echo "\$third: $third<br />";
echo "\$fourth: $fourth<br />";
echo "\$fifth: $fifth<br />";

function array_duplication($array)
{
for($loop_index = 0; 
$loop_index < count($array); 
$loop_index++){

$array[$loop_index] *= 2;
}

return $array;

}

?>
Result:

$first: 2
$second: 4
$third: 6
$fourth: 8
$fifth: 10

Example 2: if you want only 3 elements from array that returns:

<?php

$array = array(1, 2, 3, 4, 5);

list($first, $second, $third) = array_duplication($array);

echo "\$first: $first<br />";
echo "\$second: $second<br />";
echo "\$third: $third<br />";

function array_duplication($array)
{
for($loop_index = 0; 
$loop_index < count($array); 
$loop_index++){

$array[$loop_index] *= 2;
}

return $array;

}

?>
Result:

$first: 2
$second: 4
$third: 6


Note: it is not possible to return back the list directly from the function.

Example 3:

<?php

$array = array(1, 2, 3, 4, 5);

list($first, $second, $third, $fourth, $fifth) = array_duplication($array);

echo "\$first: $first<br />";
echo "\$second: $second<br />";
echo "\$third: $third<br />";
echo "\$fourth: $fourth<br />";
echo "\$fifth: $fifth<br />";

function array_duplication($array)
{
for($loop_index = 0; 
$loop_index < count($array); 
$loop_index++){

$array[$loop_index] *= 2;
}

return list($array[0], $array[1], $array[2], $array[3], $array[4]);

}

?>

No comments:

Post a Comment

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