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 result in parsing errors such as static $a =3+3; (error)
Static variables only exist in the local function domain (inside the function), and the function is executed After that, the variable value will not be lost and can be used for recursive calls
5. Global variables
Global variables defined in the function body, outside the function body It can be used. Global variables defined outside the function cannot be used inside 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 creates a global variable. Reference
global $obj;
Note: The static and global definitions of variables are implemented in an application manner
6. Assign a value to a variable: Pass address assignment (simple reference):
$bar = &$foo; //Add the ampersand before the variable to be assigned a value
Changing new variables will affect the original variables, 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 (reference change )
7.PHP superglobal 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 labeled with 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 a constant is defined, it 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. ?>
Summary
The above is the detailed content of Summary of variable definitions in php. For more information, please follow other related articles on the PHP Chinese website!