функция и не использует глобальный - PullRequest
0 голосов
/ 24 января 2012

Привет, мне было интересно, кто-нибудь может мне помочь.Я пробовал Global, но это не то, что я хочу.

$i= 0

if(.....){
   echo "In this part";
   $i = 1;
}
else{
   echo "........";
   $i = 2;
}

function process(){
   echo $i;
}

Ответы [ 5 ]

8 голосов
/ 24 января 2012

Не лучше ли передать в методе то, что вам нужно, в качестве аргумента?

process($i);

function process($i){
   echo $i;
}
1 голос
/ 24 января 2012

Конечно, это будет работать с $ _GLOBALS. Попробуйте этот код, играя с $var переменная

<?php

$i= 0;

$var=0;

if($var==0){
   echo "In this part";
$GLOBALS["i"]=1;

}
else{
   echo "........";
$GLOBALS["i"]=2;
}

process();

function process(){
   echo $GLOBALS["i"];
}


?>
1 голос
/ 24 января 2012

Я думаю, что вы определяете функцию и не вызываете ее после блока if-else.Вы можете определить его где угодно, но вызывать эту функцию после блока if-else просто как

if(....){
echo "In this part";
$i = 1;
} 
else{
echo "........";
$i = 2;
}    

process();
1 голос
/ 24 января 2012

Я проверил это, и это сработало для меня так, как я думаю, вы хотели бы, чтобы оно работало

$i= 0;

if(1==2){
echo "In this part";
$i = 1;
} 
else{
echo "........";
 $i = 2;
}

function process(){
 global $i;
 echo $i;
}

process();
1 голос
/ 24 января 2012

Внутри функции вы также должны объявить глобальную переменную.

function process(){
   global $i;
   echo $i;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...