Home >Backend Development >PHP Tutorial >PHP constants, syntax analysis of constants

PHP constants, syntax analysis of constants

墨辰丷
墨辰丷Original
2018-06-06 15:56:551147browse

This article mainly introduces PHP constants and the grammatical analysis of constants. Interested friends can refer to it. I hope it will be helpful to everyone.

1. Constants

Constant is an identifier (name) of a simple value. As the name implies, the value cannot be changed during script execution (except for so-called magic constants, which are not constants). Constants are case-sensitive by default. By convention constant identifiers are always uppercase.
Constant names follow the same naming rules as any other PHP tags. Legal constant names begin with a letter or an underscore, followed by any letters, numbers, or underscores. The regular expression is expressed like this:
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff] * (Note: Here, the letters are a-z, A-Z, and ASCII characters from 127 to 255 (0x7f-0xff))
Like super globals, the scope of constants is global. Constants can be accessed anywhere in the script regardless of scope. For more information about functions please read the Variable Scope manual.

2. Syntax
You can use the define() function to define constants. Once a constant is defined, it cannot be changed or undefined during program execution.
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 $ symbol 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 name spaces. This means for example TRUE and $TRUE are different.
If an undefined constant is used, PHP assumes that you want the name of the constant itself, as if you were calling it with a string (CONSTANT corresponds to "CONSTANT"). An E_NOTICE level error will be issued. See the manual for why $foo[bar] is wrong (unless you define bar as a constant with define() beforehand). If you just want to check whether a certain constant is defined, use the defined() function.

3. The difference between constants and variables
There is no dollar sign ($) in front of constants;
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 can only be a scalar.
Example of constant definition:

<?php 
define("CONSTANT", "Hello world."); 
echo CONSTANT; // outputs "Hello world." 
echo Constant; // outputs "Constant" and issues a notice. 
?>

4. Predefined constantsPHP provides a large number of predefined constants to any script it runs. However, many constants are defined by different extension libraries and will only appear when these extension libraries are loaded, either dynamically loaded or included at compile time.
There are four magic constants that change depending on where they are used. For example, the value of __LINE__ depends on the line it is in the script. These special constants are not case-sensitive and are as follows:
Several PHP "magic constants" __LINE__ The current line number in the file.
__FILE__ The full path and file name of the file.
__FUNCTION__ function name (newly added in PHP 4.3.0).
__CLASS__ The name of the class (new in PHP 4.3.0).
__METHOD__ The method name of the class (newly added in PHP 5.0.0).

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

How to implement error prompt return value in Restful api in PHP

Draw website login home page image verification code based on PHP Method

Detailed graphic explanation of the performance of destructor method in inheritance in php constructor

The above is the detailed content of PHP constants, syntax analysis of constants. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn