• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы slavon-x86
  • Дата начала
S

slavon-x86

Код:
 $error;

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

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

Artexoid

<!--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

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

slavon-x86

Спасибо, работает ! Я конечно же читал книгу, но не правельно понял её толкование ! Я думал что переменная должна обьявляться за пределами функции как глобальная, а оказалось немного не так ! :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!