Difference: 1. The language structure is faster than the function of the corresponding function; 2. The language structure cannot be disabled in the configuration file "php.ini", but the function can be disabled; 3. The language structure cannot be used as a callback function , and functions can.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
I believe you often see comparisons in some PHP applications , saying that isset() is used to replace strlen(), isset executes faster than strlen, etc.
Example:
if ( isset($user) ) { //do some thing }
The reason is that isset is a language structure, and strlen is a function. So what are language structures? Is it any different from a function?
1. What are language structures and functions
Language structure: It is the keyword of the PHP language and part of the language grammar; it cannot be defined by the user or added to A language extension or library; it may or may not have variables and return values.
Function: It is composed of code blocks and can be reused. From the perspective of source code, it is implemented based on the Zend engine. The functions in the ext extension library are implemented in this way.
2. Why are language structures faster than functions?
The reason is that in PHP, functions must first be decomposed into language structures by the PHP parser (Zend engine), so It can be seen that functions have one more layer of parser analysis than language structures. In this way, you can better understand which language structures are faster than functions.
3. The difference between language structure and function
(1) The language structure is faster than the function of the corresponding function
(2) The language structure is in error The processing is relatively rough. Since it is a language keyword, there is no reprocessing step
(3) The language structure cannot be disabled in the configuration item (php.ini), but the function can.
(4) Language structures cannot be used as callback functions
Supplement: List of language structures:
echo() print() die() isset() unset() include() array() list() empty() require(),
Note that include_once() is a function and require_once() is a function
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What is the difference between language structures and functions in php. For more information, please follow other related articles on the PHP Chinese website!