Cases
| The code is as follows |
Copy Code |
<?php $a = 12; function fn () { Global $a;//using outer $a variables, $a as local variables without using this method $a +=12; }
echo ' $a = '. $a//output result ?> Results of output: $a =24 |
Summary: Global variables defined in the function body can be used outside the function body, and global variables defined outside the function body cannot be used in the function body.
| The code is as follows |
Copy Code |
$glpbal $a; $a = 123; function f () { echo $a; Error } Take another look at the following example function f () { Global $a; $a = 123; } f (); echo $a; Correct, you can use |
The above example is just the basic global variables knowledge, and let's look at the complex points below:
| The code is as follows |
Copy Code |
a.php file <?php function Test_global () { Include ' b.php '; Test (); } $a = 0; Test_global (); echo $a; ?> b.php file <?php function Test () { Global $a//declaration the $a variable used within sum is global global variable $a = 1; } ?> |
Why the output is 0?!!
In a user-defined function, a local function range is introduced. Any variable that is used inside a function is limited by default to the scope of the local function (including variables within the file included in the Include and require import)!
Explanation: The internal test_global of the a.php file is a well-defined third-party function that uses include to import $a global variables within the b.php file, so $a is limited to test_global local functions, so the $ in b.php file The scope of a is within the test_global, not the whole a.php ....
Solution:
1. Flush out local function
| The code is as follows |
Copy Code |
a.php file <?php function Test_global () { Test (); } Include ' b.php '; To remove an include from a local Test_global function $a = 0; Test_global (); echo $a; ?> b.php file <?php function Test () { Global $a; $a = 1; } ?> |
Global Problem Resolution:
Question: I defined some variables ($a) in config.inc.php, in other files, outside of the function include ("config.inc.php"), the function needs to use these variables inside $a, if not declared, echo $ A is not a print out of anything. So declare global $a, but there are a lot of functions and many variables, you can't keep repeating that statement? If there is any good solution, please advise.
Answer1: First define constants in config.inc.php: Define (constant name, constant value)
and then require ' config.inc.php ' in other places that need to be used,
Then you can use this constant directly in this file.
Answer2: I also have the option of defining an array, such as $x[a], $x, so as to declare the global $x one.
Answer3: I tried this method of yours, I can't.
Answer4: Change your php.ini file.