Одна из функций, которую мне нужно создать, — это createTunnel. В этой функции я использую несколько параметров — 7, если быть точным. Хотя что-то не получилось. Я проверил эти переменные с помощью echo перед функцией (они глобальные), и значения верны. Затем я использовал ech с теми же переменными внутри функции. И вдруг значения перепутались.
так что:
$a = $c; $b = $e , $c = $d
и т.д...
фрагмент основного кода:
Код: Выделить всё
echo "
checking values outside the function:
";
echo "rport token: $RPORT_TOKEN
";
echo "
tunel:
";
var_dump($tunnelInfo);
echo "
";
echo "
" . "api: " . "$RPORT_API" . "
";
echo "opts: " . "$RPORT_OPTS" . "
";
echo "q : " . "$_q" . "
";
echo "base: " . "$RPORT_BASE" . "
";
echo "admin: " . "$RPORT_ADMIN" . "
";
echo "token: " . "$RPORT_TOKEN" . "
";
$newTunnel = createTunnel ($tunnelInfo, $RPORT_BASE, $_q, $RPORT_API, $RPORT_ADMIN, $RPORT_TOKEN, $RPORT_OPTS);
echo "
" . "create Tunnel debug" . "
";
echo "
";
var_dump($newTunnel);
echo "";
}
Вот как функция выглядит внутри функции:
Код: Выделить всё
function createTunnel($tunnelInfo, $RPORT_BASE, $_q, $RPORT_API, $RPORT_ADMIN, $RPORT_TOKEN, $RPORT_OPTS)
{
echo "
tunel:
";
var_dump($tunnelInfo);
echo "
";
echo "
" . "api: " . "$RPORT_API" . "
";
echo "opts: " . "$RPORT_OPTS" . "
";
echo "q : " . "$_q" . "
";
echo "base: " . "$RPORT_BASE" . "
";
echo "admin: " . "$RPORT_ADMIN" . "
";
echo "token: " . "$RPORT_TOKEN" . "
";
Вот, например:
Код: Выделить всё
echo "
" . "api: " . "$RPORT_API" . "
";
"api: $RPORT_BASE
"opts: $RPORT_ADMIN"
и т. д.
Когда я меняю порядок параметров в функции, т.е.:
Код: Выделить всё
function createTunnel($tunnelInfo, $RPORT_API, $$RPORT_BASE, $RPORT_ADMIN, $RPORT_OPTS, $RPORT_TOKEN, $RPORT_OPTS)
Я не заметил никакой закономерности.
Я ожидаю, что значения переменных будут такими, как я их объявил.
Значения переменных я нигде не менял. Как это возможно?
Подробнее здесь: https://stackoverflow.com/questions/790 ... each-other
Мобильная версия