2015-10-13 4 views
1

Код ниже гравюр производит ошибки:Глобальная переменная внутри функции

Notice: Undefined variable: x in C:\wamp\www\h4.php on line 9 

и выход:

Variable x inside function is: 
Variable x outside function is: 5 

Код:

<html> 
<body> 

<?php 
$x = 5; // global scope 

function myTest() { 
    // using x inside this function will generate an error 
    echo "<p>Variable x inside function is: $x</p>"; 
} 
myTest(); 

echo "<p>Variable x outside function is: $x</p>"; 
?> 

</body> 
</html> 

Что получает неправильно с x глобальной переменной внутри myTest функционировать?

+1

'$ x = 5; // global scope' - false. –

+0

Лучше всего передать его в своей функции. Глобальные часто не одобряют многие кодеры. –

ответ

2

Изменить это:

function myTest() { 
    global $x; 
    // using x inside this function will generate an error 
    echo "<p>Variable x inside function is: $x</p>"; 
} 

Команда global говорит использовать глобальное значение $ х, а не частной.

+0

Или Вы можете просто ввести error_reporting (0); для предотвращения уведомлений и ошибок. –

+1

Нет, подавление ошибок - это не то, что нужно. OP хочет глобальное значение '$ x' внутри функции. –

+0

Хорошо, тогда просто определите это глобально, как вы сказали ... !! (Y), –

2

Чтобы получить доступ к глобальной переменной, вам необходимо определить с помощью ключевого слова 'global' с функцией. После ее определения вы можете получить доступ к этой глобальной переменной.

 $x = 5; // global scope 

     function myTest() { 
//use global keyword to access global variable 
      global $x; 
      // using x inside this function will generate an error 
      echo "<p>Variable x inside function is: $x</p>"; 
     } 
     myTest(); 

    echo "<p>Variable x outside function is: $x</p>"; 
Смежные вопросы