Home >Backend Development >PHP Tutorial >PHP essence and skills that PHP programmers easily overlook_PHP tutorial
Many PHP programmers, especially those who have not studied for a long time, do not know the essence of PHP. How did Perl become famous in the business world back then? Its powerful regular expressions. And what about PHP? It is a language developed under Unix. Of course, it inherits many features of Perl and has the advantages of C. It is fast, concise, and clear, especially for C programmers. PHP is their favorite. I just love "PHP" deeply (I have even forgotten my girlfriend). Here, I want to write about PHP variables and array application skills, PHP regular expressions, and PHP template applications. I will write about the complete combination of PHP and COM, and PHP and XML when I have time in the future.
1. Application skills of variables and arrays
(1) Array functions that are rarely used by many people. foreach, list, each. Just give a few examples and you should be able to figure it out. Example:
$data = array('a' => 'data1', 'b' => 'data2', 'c' => 'data3'); while(list($subscript, $value) = each($data)) { echo "$subscript => $value :: "; echo "$subscript => $valuen"; } reset($data); foreach($data as $subscript => $value) { echo "$subscript => $value :: "; echo "$subscript => $valuen"; } |
(2) Function variable, variable variable, variable "pointer": See the following example:
//变量的变量$var = "this is a var";$varname = "var";echo $$varname;//函数的变量function fun1($str) {echo $str;}$funname = "fun1";$funname("This is a function !");?> |
Variable "pointer". This pointer is enclosed in double quotes, indicating that it is not a real pointer. Take a look at the following example:
function($a) {$a ++;}$c = 0;function($c);echo $c; //$c仍为0function(&$a) {$a ++;}$c = 0;echo $c; //$c为1?> |
The reason why it is called a "pointer" is because it has the same function as a pointer in C language. But this is not a real pointer, it can only be understood in this way.
2. Regular expressions
Regular expressions are a very big topic, and Perl’s regular expressions are well-known for their power. PHP is not weak either. It inherits Perl's regular expression rules and has its own set of rules. Here we only talk about PHP's own regular expressions.
Regular expressions are the most basic elements. Simply put, it is a set of rules used to determine whether other elements conform to its own rules, or whether they have the same characteristic description.
The starting symbol of the regular expression: ^ and the ending symbol $. The elements between these two symbols are matched. For example, if you want to check whether a phone number is for calling Beijing, the regular expression would be "^010$". As long as the first three digits of the area code are 010, it is Beijing's number, and the following phone numbers don't matter. Then, use the regular expression matching function ereg to judge, for example:
$pattern = "^010$";$phone = "01080718828";if(ereg($pattern, $phone))echo "打往北京的号";elseecho "不是打往北京的号";?> |
This is the regular expression. Phone numbers in Beijing are all 8 digits, so I want to know if the number is correct? What if he pressed the 9-digit number? If judged right or wrong? This requires the use of regular expression character clusters. Then the regular expression in the above example should be written like this: ^010[0-9]{8}$, and it can be judged at the same time whether the number conforms to the rules. Regular expressions have many applications. For example, the so-called VBB code analysis in LBB and VBB forums is all done using regular expressions.
3. Template
If you know the function of regular expressions, you can know the template. What is a template? Give me an example? Generally, when a background program is used to write a web page, the program code is inserted into the web page. Such as PHP. This is a mix of HTML and PHP. The advantage of this is that the reading speed is fast, but the disadvantage is that if everyone works together to build the website, non-programmers will not change the website.
With templates, you can achieve the most rational division of labor. The artist only writes the page, the program only writes the background, and then puts it all together. Excellent Jsp provides the function of custom tags and completes the template function well. And how does mainstream PHP do it? This is done using regular expressions. You can download a PHPLIB from the Internet. There is a source code file of template.inc in the PHP directory, which is a class that uses PHP to implement template application.