Переменная и функция

slavon-x86

Well-known member
18.12.2005
215
0
#1
Код:
 $error;

function c_string($string)
{
$error = $string . 'bbb';
};

check_string('aaa');
Создаётся переменная $error, потом её надо обработать в функции c_string ! Но внутри функции не видно переменную ! Как это сделать нормально ?
 
A

Artexoid

#2
<!--QuoteBegin-slavon-x86 @ Сегодня+ 18:44 -->
<span class="vbquote">(slavon-x86 @ Сегодня @ 18:44 )</span><!--QuoteEBegin-->
Код:
 $error;
function c_string($string)
{
$error = $string . 'bbb';
};
check_string('aaa');
Создаётся переменная $error, потом её надо обработать в функции c_string ! Но внутри функции не видно переменную ! Как это сделать нормально ?[/quote]
Не видна переменная $error я так понял? Нужно сделать так:
Код:
 $error;
function c_string($string)
{
global $error; 
$error = $string . 'bbb';
};
check_string('aaa');
Ну или так:
Код:
 $error;
function c_string($string,&$error)
{
global $error; 
$error = $string . 'bbb';
};
check_string('aaa');
В первом случае global указывает на то что $error у нас объявлена за пределами ф-ции, во 2-м $error передаётся по ссылке...
 
G

GOsha

#3
Для: slavon-x86
Тебе правильно ответили. Только книжками не стоит пренебрегать.
Там же почти на первой странице написано про области видимости функций, и как решать эти вопросы.
 

slavon-x86

Well-known member
18.12.2005
215
0
#4
Спасибо, работает ! Я конечно же читал книгу, но не правельно понял её толкование ! Я думал что переменная должна обьявляться за пределами функции как глобальная, а оказалось немного не так ! :)