Не присваивается значение переменной в функции

vamfirius

Новичок
Не присваивается значение переменной в функции

PHP:
function ran(){
$g=13;
global $g;
}
ran();
print $g;
Виртуальный сервак - Денвер 3, ОС - Windows 7,
Не выводит 13 как должен, подскажите, может я че не так делаю?
 

Raziel[SD]

untitled00
нужно сначала объявить $g как global.

З.Ы. лучше это не использовать.
 

vamfirius

Новичок
Так я и объявил, в функции, или нет?))) Сори если задаю тупые вопросы, начал изучать php с недельку назад.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
vamfirius

function run(){
... тут какой-то код, работа...
$g=13;
return $g;
}

$data = run();

echo $data;
 

Raziel[SD]

untitled00
Автор оригинала: vamfirius
Так я и объявил, в функции, или нет?))) Сори если задаю тупые вопросы, начал изучать php с недельку назад.
ты когда через дорогу переходишь: сначала переходишь, а потом смотришь едут ли машины ? :) вот это твой случай.
 

vamfirius

Новичок
Автор оригинала: c0dex
vamfirius

function run(){
... тут какой-то код, работа...
$g=13;
return $g;
}

$data = run();

echo $data;
-~{}~ 14.05.10 13:05:

function ran(){
$ran1=rand(1,6);
$ran2=rand(1,6);
$ran3=rand(1,6);
$ran4=rand(1,6);
$ran5=rand(1,6);
$ran6=rand(1,6);
$ran7=rand(1,6);
$ran8=rand(1,6);
$ran9=rand(1,6);
global $ran1;
global $ran2;
global $ran3;
global $ran4;
global $ran5;
global $ran6;
global $ran7;
global $ran8;
global $ran9;
}
ran();
Наверное я не правильно поставил вопрос, мне надо чтобы функция присваивала рандом переменным.

-~{}~ 14.05.10 13:07:

много глобалов конечно написал, но суть не в этом, а в том что не присваивает

-~{}~ 14.05.10 13:11:

Raziel[SD]
Чёто не понятен смысл метафоры, может она просто не по делу?!
 

TutanXamoN

Новичок
vamfirius
Может просто подумать стоит?
Ключевые слова СНАЧАЛА и ПОТОМ
 

vamfirius

Новичок
Ну так я СНАЧАЛА объявляю переменную в функции как глобал, ПОТОМ
пишу непосредственно функцию, ПОТОМ пытаюсь вывести на экран переменную. Я чето пропустил?
 

TutanXamoN

Новичок
СНАЧАЛА объявляю переменную в функции как глобал, ПОТОМ пишу непосредственно функцию,
врешь и не краснеешь:

PHP:
function ran(){
$ran1=rand(1,6);
$ran2=rand(1,6);
$ran3=rand(1,6);
$ran4=rand(1,6);
$ran5=rand(1,6);
$ran6=rand(1,6);
$ran7=rand(1,6);
$ran8=rand(1,6);
$ran9=rand(1,6);
global $ran1;
global $ran2;
global $ran3;
global $ran4;
global $ran5;
global $ran6;
global $ran7;
global $ran8;
global $ran9;
}
 

vamfirius

Новичок
Млин это естественно не весь код. Допиши ниже
print $ran1;
или любую другую из переменных присутствующих в функции.
Ты кстати не весь код скопировал
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
вот научите его использовать глобальные переменные, а потом чего доброго он register_globals включит! и придет опять сюда... =)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
vamfirius
тебе написали, сначала global - потом присваивание...
 

Raziel[SD]

untitled00
Автор оригинала: vamfirius
-~{}~ 14.05.10 13:05:

Raziel[SD]
Чёто не понятен смысл метафоры, может она просто не по делу?!
А может ты просто ее не понял ? :) ты используешь уже объявленую переменную, тебе нужно это только донести до PHP. Ты ведь когда пьешь воду из бутылки, сначала открываешь бутылку, а потом пьешь, а не наоборот ? так почему ты не следуешь это принципу здесь ?
 

TutanXamoN

Новичок
Вашу бабушку, попробуем исчо раз:
PHP:
$ran1=rand(1,6); 
global $ran1;
СНАЧАЛА объявляю переменную в функции как глобал
ПОТОМ пишу непосредственно функцию,
Найди несоответствие)
 

vamfirius

Новичок
Ну вы гики блин. Пока добьёшся простого ответа на простой вопрос, поседеешь три раза.) А вообще спасибо конечно за помощь.
 

Beavis

Banned
vamfirius
надо просто мозг включать иногда
тебе и ссылку на примеры дали, и несколько раз написали что СНАЧАЛА а что ПОТОМ, а ты всё понять не можешь))

а вообще, так как ты делаешь, делать плохо
это говнокод

c0dex написал как лучше решить эту задачу
 

vamfirius

Новичок
Если я не опытный программист еще не значит что у меня мозг не работает.
Через return правильнее? Почему?

-~{}~ 14.05.10 13:58:

Через return обязательно присваивать значение результата работы функции левой переменной? Если да то как я несколько переменных выведу? Через массив? если да то как? Я пробовал не выходит...
 
Сверху