<?php
echo test();
$a = "123";
function test(){
global $b;
b =$a;
return $b;
}
?>
Я хочу, чтобы получить значение из другой формы, поэтому настройки I функции, но почему не могу показать значение в тесте()путы переменных в функцию
<?php
echo test();
$a = "123";
function test(){
global $b;
b =$a;
return $b;
}
?>
Я хочу, чтобы получить значение из другой формы, поэтому настройки I функции, но почему не могу показать значение в тесте()путы переменных в функцию
Поскольку $a
находится вне области видимости, объявленное после вызова функции, и у вас есть синтаксическая ошибка. Вам нужно global $a
.
$a = "123";
echo test();
function test() {
global $a;
$b = $a;
return $b;
}
Результат
123
Посмотрите на variable scopes
Уважаемый, echo test(); – user1940813
Дорогой, Я не могу объявить $ a перед функцией, потому что я хочу передать значение $ b другому
@ user1940813 Пожалуйста, уточните свой вопрос с большим количеством кода. – Kermit
Во-первых, вы не можете заполнить переменную так: b = $a
вам нужно использовать правильный синтаксис PHP, так: $b = $a
.
Во-вторых, «njk» получил это право, вам нужно объявить переменную глобальной, поскольку она выходит за пределы области видимости, поэтому будет работать global $a
.
Наконец, он будет работать только если вы заранее определить переменную перед вызовом функции, так это то, как он выглядел бы:
$a = 123;
function test() {
global $a;
$b = $a;
return $b;
}
echo test();
Это вернет этот результат:
123
Надеюсь, что помогает.
И njk, и я предоставили вам правильные решения ниже. Пожалуйста, выберите один ответ, спасибо. – James
@JamesKirby - Имейте терпение. Дайте время, чтобы выяснить, отвечают ли они на вопросы, проверяют их и определяют, действительно ли они отвечают на вопрос. Также обратите внимание, что (на момент написания) запрашивающий * не может * выбрать ответ, поскольку существует принудительная задержка в stackoverflow. – Quentin
Почему не стандартный ответ людям, использующим «глобальный», чтобы победить их вокруг головы влажной скумбрии? –