The activity scope of a variable is limited to defining its context. For the vast majority of PHP variables, there is only a separate scope of activity. However, the concept of a local function range is introduced in user-defined functions. Any variables used in this function are limited to SyntaxHighlighter. all () within the local function range of the function by default ();
The activity scope of a variable is limited to defining its context. For the vast majority of PHP variables, there is only a separate scope of activity. However, the concept of a local function range is introduced in user-defined functions. Any variables used in this function are limited to the local function range of the function by default. For example:
$ A = 1;/* global scope */
Function Test (){
Echo $ a;/* reference to local scope variable */}
Test ();
This script will not generate any output, because the statement for the variable "$ a" submitted to the local translation is displayed, at the same time, this variable is not specified in its activity range. You can note that this is somewhat different from the C language. in C, global variables are automatically set to available unless otherwise specified in the function. People may accidentally change the value of the global variable, which may cause many problems in the program. In PHP, global variables must be announced in a function if you want to use them in this function. Example:
$ A = 1;
$ B = 2;
Function Sum (){
Global $ a, $ B;
$ B = $ a + $ B;
}
Sum ();
Echo $ B;
The above script will output "3 ". Specify the global variables $ a and $ B in the function. any reference to these two variables is specified to this global variable. There is no function to limit the number of global variables.
The second method to accept global variables is to use PHP's special definition array $ GLOBALS, as shown in the following example:
$ A = 1;
$ B = 2;
Function Sum (){
$ GLOBALS ["B"] = $ GLOBALS ["a"] + $ GLOBALS ["B"];
}
Sum ();
Echo $ B;
$ GLOBALS array is the name of the variable using "global" as the union array, and the global variable is used as the value of an element in the variable array.
Another important feature of variable activity scope is "static variables ". A static variable only exists in the activity range of the local function, but its value is not lost when the program leaves this range. See the following example:
Function Test (){
$ A = 0;
Echo $;
$ A ++;
}
Every time this function is called, the variable $ a is set to 0 and "0" is printed, so it is almost useless. The expression "$ a ++" increases the value of the variable, but $ a disappears every time the function exits. To use a count function that does not lose the current calculation, you can set variable $ a to static, as shown in the following example:
Function Test (){
Static $ a = 0;
Echo $;
$ A ++;
}
Now, every time the Test () function is called, it prints the variable $ a and the added value.
When a function is called recursively, using static variables is an important method. Recursive functions can call their own functions. When writing recursive functions, pay attention to the possible loop definitions. You must have an appropriate method to interrupt this recursive process. The following example shows 10 recursion times:
Function Test (){
Static $ count = 0;
$ Count ++;
Echo $ count;
If ($ count <10 ){
Test ();}
$ Count --;
}