глобальные переменные как переменные функции

  • Автор темы Автор темы Rynor
  • Дата начала Дата начала

Rynor

stay hungry
глобальные переменные как переменные функции

счас пойду почитаю но как всегда сначала спрошу:
уважаемые, глючит сабж...
то есть вот это работает:
PHP:
$i = 0;
function f() {
global  $i;
$i = 1;
return $i;
}
echo f();
echo $i;
эха кричит нам 1,1

PHP:
$i = 0;
function f($iii) {
$iii = 1;
return $iii;
}
echo f($i);
echo $i;
1,0

WTF? не понимает функция глобальность входного параметра...

спасибо за помощь!
 
Все правильно. Читай про облисть видимости и про функции.
 
ыыыыыыыы нашел

Making arguments be passed by reference
By default, function arguments are passed by value (so that if you change the value of the argument within the function, it does not get changed outside of the function). If you wish to allow a function to modify its arguments, you must pass them by reference.

If you want an argument to a function to always be passed by reference, you can prepend an ampersand (&) to the argument name in the function definition:

PHP:
function add_some_extra(&$string)
{
    $string .= 'and something extra.';
}
$str = 'This is a string, ';
add_some_extra($str);
echo $str;
// outputs 'This is a string, and something extra.'
 
А при чем тут глобальные переменные и функции?
Во втором коде ты просто нигде не присваиваешь $i никакого значения.
 
Сверху