Рассмотрим еще одну возможность пользовательских функций PHP - возврат ссылок.
Возвращение по ссылке используется в тех случаях, когда вы хотите использовать функцию для выбора переменной, с которой должна быть связана данная ссылка.
<html>
<head>
<title>Reference as Function Return Values</title>
</head>
<body>
<?php
function ref_return() {
global $a;
$a = $a * 2;
return $a;
}
$a = 10;
$b = ref_return();
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 20
$b = 30;
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 30
/////
echo "<hr />";
function ref_return2() {
global $a;
$a = $a * 2;
return $a; // возвращается значение, а не $a
}
$a = 10;
$b = &ref_return2(); // $b ссылается на 20
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 20
$b = 30;
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 30
/////
echo "<hr />";
function &ref_return3() {
global $a;
$a = $a * 2;
return $a;
}
$a = 10;
$b = &ref_return3();
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 20
$b = 30;
echo "a: {$a} / b: {$b} <br />"; // a: 30 / b: 30
/////
echo "<hr />";
function &increment() {
static $var = 0;
$var++;
return $var;
}
$a = & increment(); // увеличивается
increment(); // увеличивается
$a++; // увеличивается
increment(); // увеличивается
echo "a: {$a} <br />"; // 4
?>
</body>
</html>
Возвращение по ссылке используется в тех случаях, когда вы хотите использовать функцию для выбора переменной, с которой должна быть связана данная ссылка.
<html>
<head>
<title>Reference as Function Return Values</title>
</head>
<body>
<?php
function ref_return() {
global $a;
$a = $a * 2;
return $a;
}
$a = 10;
$b = ref_return();
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 20
$b = 30;
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 30
/////
echo "<hr />";
function ref_return2() {
global $a;
$a = $a * 2;
return $a; // возвращается значение, а не $a
}
$a = 10;
$b = &ref_return2(); // $b ссылается на 20
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 20
$b = 30;
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 30
/////
echo "<hr />";
function &ref_return3() {
global $a;
$a = $a * 2;
return $a;
}
$a = 10;
$b = &ref_return3();
echo "a: {$a} / b: {$b} <br />"; // a: 20 / b: 20
$b = 30;
echo "a: {$a} / b: {$b} <br />"; // a: 30 / b: 30
/////
echo "<hr />";
function &increment() {
static $var = 0;
$var++;
return $var;
}
$a = & increment(); // увеличивается
increment(); // увеличивается
$a++; // увеличивается
increment(); // увеличивается
echo "a: {$a} <br />"; // 4
?>
</body>
</html>
Комментариев нет:
Отправить комментарий