This article mainly introduces a summary of various methods of defining variables in PHP. Friends who need it can refer to it
1. Define constants define("CONSTANT", "Hello world .");
Constants can only contain scalar data (boolean, integer, float and string).
When calling a constant, you only need to simply use the name to get the value of the constant, and you cannot add the "$" symbol, such as: echo CONSTANT;
Note: Constants and (global) variables are in different in the namespace. This means for example TRUE and $TRUE are different.
2. Ordinary variable $a = "hello";
3. Variable variable (use two Dollar sign ($))
$$a = "world";
Both variables are defined:
$a's content is "hello" and $hello's content is "world".
Therefore, it can be expressed as:
echo "$a ${$a}"; or echo "$a $hello"; they will both output: hello world
To use mutable variables with arrays, an ambiguity must be resolved. This is when writing $$a[1], the parser needs to know whether it wants $a[1] as a variable, or whether it wants $$a as a variable and extracts the variable with index [1] value. The syntax to solve this problem is to use ${$a[1]} for the first case and ${$a}[1] for the second case.
4. Static variables
Inside the functionstatic $a = 0;
Note : Assigning the result of an expression in the declaration will cause parsing errors such as static $a =3 3; (error)
Static variables only exist in the local function domain (inside the function), after the function is executed , the variable value will not be lost and can be used for recursive calls
5. Global variables
Global variables defined in the function body can be used outside the function body Use, global variables defined outside the function body cannot be used within the function body. To access variables in the global scope, you can use special PHP to customize the $GLOBALS array:
For example: $GLOBALS["b"] = $GLOBALS["a"] $GLOBALS["b"];
A real global variable imported using the global statement in a function domain actually establishes a reference to the global variable.
global $obj;
Note: The static and global definitions of variables are implemented in an application manner
6. Assign a value to a variable: Assign by address (simple reference):
$bar = &$foo; //Add the ampersand before the variable to be assigned
Changing the new variable will affect the original variable, and this assignment operation is faster
Note: Only named variables can be assigned addresses
Note: If
$bar = &$a; <br>$bar = &$foo;
Changing the value of $bar can only change the value of variable foo, but not the value of a (the reference has changed)
7.PHP super global variable $GLOBALS:
Contains a reference to each variable that is valid in the global scope of the current script. The keys of this array are the names of global variables. The $GLOBALS array exists since PHP 3.
$_SERVER: Variables are set by the web server or are directly associated with the execution environment of the current script. Similar to the old $HTTP_SERVER_VARS array (still valid, but deprecated).
$_GET : Variables submitted to the script via the HTTP GET method.
$_POST: Variables submitted to the script via the HTTP POST method.
$_COOKIE : Variable submitted to the script via the HTTP Cookies method.
$_FILES : Variables submitted to the script via HTTP POST file upload.
The file upload form must have enctype="multipart/form-data"
$_ENV: Variables submitted by the execution environment to the script.
$_REQUEST: Variables submitted to the script via GET, POST and COOKIE mechanisms, so this array is not trustworthy. The presence and order of all variables contained in this array are defined according to the variables_order configuration directive in php.ini. This array does not directly emulate earlier versions of PHP 4.1.0. See import_request_variables().
Note: As of PHP 4.3.0, the file information in $_FILES no longer exists in $_REQUEST.
$_SESSION: Variable currently registered for the script session.
How to disable phpinfo():
php.ini
Restart web server.
Constants in php
Constants can only use define (constant name, constant value);
Constants can only contain scalar data (boolean, integer, float and string) .
You can get the value of a constant simply by specifying its name. Do not add the $ sign in front of the constant. If the constant name is dynamic, you can also use the function
constant() to read the value of the constant. Use get_defined_constants() to get a list of all defined constants.
Note: Constants and (global) variables are in different namespaces. This means for example TRUE and $TRUE are different.
If an undefined constant is used, PHP assumes that what is wanted is the name of the constant itself, as if calling it with a string (CONSTANT corresponds to "CONSTANT"). An E_NOTICE level error will be issued. See the manual for why $w3sky[bar] is wrong (unless bar is defined as a constant with define() beforehand). If you just want to check whether a certain constant is defined, use the defined() function.
Constants are different from variables:
* There is no dollar sign ($) in front of the constant;
* Constants can only be defined using the define() function, not through assignment statements;
* Constants can be defined and accessed anywhere regardless of the rules of variable scope;
* Once defined, a constant cannot be redefined or undefined;
* The value of a constant is only Can be a scalar quantity.
Define constants
<?PHP define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." echo Constant; // outputs "Constant" and issues a notice. ?>
Related recommendations:
Summary of how to use various sorting functions in php
Introduction to various operators in php and examples
The above is the detailed content of Summary of various methods of defining variables in php. For more information, please follow other related articles on the PHP Chinese website!