Functions and Scope
Value Copies
Normal arguments pass a value copy, so changing the parameter does not change the caller variable.
Value Copies
value_copy.php
<?php
function addOne(int $value): int {
$value = $value + 1;
return $value;
}
$number = ;
$changed = addOne($number);
echo "number=" . $number . "\n";
echo "changed=" . $changed . "\n";
<?php
function addOne(int $value): int {
$value = $value + 1;
return $value;
}
$number = ;
$changed = addOne($number);
echo "number=" . $number . "\n";
echo "changed=" . $changed . "\n";
<?php
function addOne(int $value): int {
$value = $value + 1;
return $value;
}
$number = ;
$changed = addOne($number);
echo "number=" . $number . "\n";
echo "changed=" . $changed . "\n";
value copy
A parameter can change inside the function without changing the original variable.