class — Использование переменной из другого условия в переполнении стека

У меня есть этот код:

if(!isset($_GET["act"]))
{
$display->display("templates/install_main.html");
if(isset($_POST["proceed"]))
{
$prefix = $_POST["prefix"];
}
}

if($_GET["act"] == "act")
{
echo $prefix;
}

По сути, я задавал подобный вопрос раньше, так как я могу сделать переменную доступной? пожалуйста, укажите, есть ли какой-либо способ сделать это, даже с изменением способа, которым это сделано (кто-то сказал мне, что это возможно с классом, но не совсем уверен, как это можно сделать), или любым другим способом сделать его доступным.

Спасибо!

-1

Решение

Область переменных PHP — на уровне функций. Префикс $ будет доступен в вашем втором if() ЕСЛИ другой if () оценивается как true и фактически выполняется $prefix = ... код.

например

if (true) {
$foo = 'bar'; // always executes
}
if (false) {
$baz = 'qux'; // never executes
}
echo $foo; // works just fine
echo $baz; // undefined variable, because $baz='qux' never executed.

Также обратите внимание, что PHP не способен путешествовать во времени:

echo $x; // undefined variable;
$x = 'y';
echo $y; // spits out 'y'

«предыдущий» код не будет иметь «более поздних» переменных, потому что код, который фактически создает / присваивает значения этим переменным, еще не будет выполнен.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]