[PHP]Проблема

iakobi91

function B($g);
{
$g = ...;
}
function A
{
...;
$variable1 = ...;
$variable2 = ...;
function B($variable1);
}
Что нужно писать в в функции А, чтобы она могла использовать $variable2 (вариант function B($variable1, $variable2); неприемлем)?

artimon

Нифига не понял.

stat7300694

я тоже...

stalker33rus10

Может тебе все же надо использовать $variable2 в функции B ?
Тогда можешь написать в начале обеих функции global $variable2;
и использовать ее как глобальную, тогда, когда ты объявишь ее в A, она попадет и в B.
Только я вот с ходу не могу придумать причину почему нельзя function B($variable1, $variable2)

avinir60

Вопрос из той же тематики: как сделать переменную, которая будет видна во всех функциях без использования конструкций global? Например, массив $_POST виден во всех функциях.

stalker33rus10

Ну, например, можно в $_SESSIONS запихать, они вроде тоже везде видны.

avinir60

Запихать я и в $_POST могу. Только зачем, если есть $GLOBALS. Нужно проще.

stalker33rus10

тогды не знаю
а в чем собственно проблема передать через массив?

stat7300694

вот в чем косяк: когда пишешь функция Б(переменная1, переменная2) - все виснет к чертям!

iakobi91

Проблема в том, что это в движке работающего форума => что-то менять - будут глюки (мне один раз уже вкатили 3.14...). Идёт обращение из глобального файла форума в файл скина, значит, если хочешь менять вложенную функцию, то придётся менять все скины. А если не передавать, то достаточно изменений в глобальном файле (объявление переменной + присвоение значения а в шаблоне одного скина изменения вызываемой функции.
2. Ты чего-то совсем не догоняешь. У тебя заголовок функции function A($variable1 а ты пытаешься обратиться к ней через A($variable1, variable2);. Ещё бы у тебя что-то работало.
2Global
function B($g);
global va...2;
{
$g = ...;
}
function A
global va...2;
{
...;
$variable1 = ...;
$variable2 = ...;
function B($variable1);
}
Так верно?

stat7300694

>2. Ты чего-то совсем не догоняешь. У тебя заголовок функции function A($variable1 а ты >пытаешься обратиться к ней через A($variable1, variable2);. Ещё бы у тебя что-то работало
не, ты сам не понял, - это твоя проблема, прочти внимательнее, что я написал твою проблему, только добавил еще, что следует из использования "функция Б(перем1, перем2);"

iakobi91

2чукгкп - объясни тогда подробнее.
Причины:
01. У тебя функция не объявлена = не существует
02. Заголовок функции и её вызов не соответствуют друг другу
03. Функция галимая

stat7300694

если б я знал причины - то ты бы не задавал здесь таких вопросов
я не чукгкп, я -

iri_ka

Химик?
Оставить комментарий
Имя или ник:
Комментарий: