How to define php variables: 1. Use the "define(name, value, case_insensitive)" statement; 2. Use the "$ variable name = value;" statement; 3. Use "static $ variable name = value ;" statement; 4. Use the "$$ variable name = value;" statement and so on.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
php variable definition Method
Define constant define();
define(name,value,case_insensitive)
Constant 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, instead of adding 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.
Normal variable $a = "hello";
Variable variable (use two dollar signs ($))
$$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 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.
Static variable
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
Global variables
Global variables defined in the function body can be used outside the function. Global variables defined outside the function cannot be used inside the function body. Variables can be accessed in the global scope. Use special PHP to customize the $GLOBALS array:
For example:
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
A real global variable imported with 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
Assign a value to a variable: Pass address assignment (simple reference):
$bar = &$foo; //加&符号到将要赋值的变量前
Changing new variables will affect the original variables. This assignment operation is faster
Note: Only named variables can be assigned addresses
Note: If
$bar = &$a; $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)
PHP super global variable $GLOBALS:
Contains a reference to a variable that is valid in the global scope of each 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 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 to the script by the execution environment.
$_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.
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 be defined (constant name, constant value);
Constants can only be used Contains scalar data (boolean, integer, float and string).
可以简单的通过指定其名字来取得常量的值,不要在常量前面加上 $ 符号。如果常量名是动态的,也可以用函数
constant() 来读取常量的值。用 get_defined_constants() 可以获得所有已定义的常量列表。
注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。
如果使用了一个未定义的常量,PHP 假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT 对应 "CONSTANT")。此时将发出一个 E_NOTICE 级的错误。参见手册中为什么 $w3sky[bar] 是错误的(除非事先用 define() 将 bar 定义为一个常量)。如果只想检查是否定义了某常量,用 defined() 函数。
常量和变量不同:
* 常量前面没有美元符号($);
* 常量只能用 define() 函数定义,而不能通过赋值语句;
* 常量可以不用理会变量范围的规则而在任何地方定义和访问;
* 常量一旦定义就不能被重新定义或者取消定义;
* 常量的值只能是标量。
定义常量
<?PHP define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." echo Constant; // outputs "Constant" and issues a notice. ?>
推荐学习:《PHP视频教程》
The above is the detailed content of What are the methods of defining variables in php. For more information, please follow other related articles on the PHP Chinese website!