2016-03-22 3 views
-1

Это очень простая программа, но когда я ее запускаю, она просто выдает первый оператор эха, который равен 3, другие не отображаются. я заявил, что глобальная функция, поэтому она доза не работает, как ни странно, когда я был кодирование другой программы, объявляя глобальный переменный массив в функции он прекрасно работает, пожалуйста, объясните подробно, спасибоphp глобальная переменная в функциях

$a = 1; 
$b = 2; 
$c = $a + $b; 
echo $c ."<br>"; 


function aaa() 
{ 

    global $a; 
    global $b; 

    $d = $a + $b; 
    echo $a ."<br>"; 

function ccc() 
{ 
    global $d; 
    $e = $c + 1; 
    echo $e; 
} 

} 
+7

Функции ничего не делают, если вы их не называете. Вы определили функции, но не вызвали их каким-либо образом. – kainaw

+1

Это не класс, поэтому не ставьте функции ccc внутри aaa и где вы вызываете свои функции? –

+1

@Machavity он может. – fusion3k

ответ

0

Проблемы с вашим кодом является то, что вы положили функцию ccc внутри funciton aaa, и это не правильный способ делать то, что вы пытаетесь сделать. Правильным способом было бы создать Class aaa, а затем объявить ccc as its method.

0
$a = 1; 
$b = 2; 
$c = $a + $b; 
$d = 0; 

function aaa() { 
    global $a; 
    global $b; 
    global $d; 

    $d = $a + $b; 
    echo $a ."<br>"; 
} 

function ccc() { 
    global $c; 
    global $d; 
    $e = $c + 1; 
    echo $e; 
} 

echo $c ."<br>"; 
aaa(); 
ccc(); 
+0

Это даст вам сообщение об ошибке неопределенной переменной '$ c' ... –

+0

@AdamKonieska Исправлено. Спасибо, что заметили. –

Смежные вопросы