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, without adding the "$" symbol, such as: echo CONSTANT;
Note: Constants and (global) variables are in different name spaces. This means for example TRUE and $TRUE are different.
2. Ordinary variable $a = "hello";
3. Variable variable (using two dollar signs ($))
$$a = "world";
Both variables are defined:
The content of $a is "hello" and the content of $hello is "world".
Therefore, it can be expressed as:
echo "$a ${$a}"; or echo "$a $hello"; they will both output: hello world
To use variable variables for 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
static $a = 0 inside the function;
Note: Assigning it with 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 inside the function body can be used outside the function body. Global variables defined outside the function body cannot be used inside the function body. To access variables in the global scope, you can use the special PHP custom $GLOBALS array:
For example: $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
A real global variable imported with the global statement in a function domain actually creates a Reference to global variables
global $obj;
Note: The static and global definitions of variables are implemented in an application manner
6. Assign values to variables: Pass address assignment (simple reference):
$bar = &$foo; //Add & sign before the variable to be assigned
Changing the new variable will affect the original variable, this assignment operation is faster
Note: only naming Only variables can be assigned addresses.
Note: If
$bar = &$a;
$bar = &$foo;
Changing the value of $bar can only change the value of variable foo, not Change the value of a (the reference changes)
7.PHP super global variable $GLOBALS: Contains a reference pointing to variables that are valid in the global scope of each 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 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, absence, 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
disable_functions = phpinfo()
Restart the 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 it were called 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 constants;
* Constants can only be defined with the define() function, not through assignment statements;
* Constants can ignore variables It can be defined and accessed anywhere according to the rules of scope;
* Once a constant is defined, it cannot be redefined or undefined;
* The value of a constant can only be a scalar.
Define constants
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?>