Home > Article > Backend Development > Pursue program speed, not programming speed_PHP Tutorial
1. Use embedded HTML code instead of PHP’s echo statement.
Because PHP is an embedded Web programming language, HTML code and PHP code can be embedded in each other. However, many programmers are worried that excessive use of "" to embed PHP code in HTML code will call the PHP interpreter multiple times, thereby reducing the running speed of PHP code, so they would rather use PHP's echo statement to output HTML code instead of directly Use HTML code. But the truth is exactly the opposite. Each PHP page only calls the PHP interpreter once to interpret all PHP codes. Therefore, the PHP code is only embedded when needed, and most of the time, the HTML code is used directly to input the results. Not only will it not reduce the running speed of the program, but it will also Because the parsing of echo statements is reduced, the running speed of the code can often be improved.
The following piece of code proves our conclusion. In this code, we use the time test function introduced earlier.
2. Use str-replace instead of ereg-replace
Programmers who are accustomed to using Perl for programming are more willing to use ereg_replace to complete string replacement work, because ereg_replace in PHP The usage is similar to the usage of pattern matching in Perl. However, the following code proves that using str_replace instead of ereg_replace will greatly improve the running speed of the code.
Test the running speed of str_replace and ereg_replace
//This code tests the running speed of str_replace
emphasis; ?>
for ($i=0; $i<1000; $i++) {
str_replace(i>, b>, $string).
}
?>
/ /This code tests the running speed of ereg_replace
for ($i=0; $i<1000; $i++) {
ereg_replace(<([/]*)i>, <1b> ;, $string).
}
?>
//Print results
Conclusion
Time to use str_replace -
Time to use ereg_pattern -
Run the above code and the result is:
Time to use str_replace - 0.089757
Time to use ereg_pattern - 0.248881
We can see from the running results Using str_replace instead of ereg_replace as the string replacement function greatly improves the running speed of the code.
3. Pay attention to string references
Like many other programming languages, PHP can use double quotes ("") to quote strings, or you can use single quotes quotation marks(). But in PHP, if you use double quotes to quote a string, the PHP parser will first analyze whether there is a reference to a variable in the string. If there is a variable, it will replace the variable. If it is single quotes, it is not so complicated - all strings enclosed in single quotes are directly displayed. Obviously, in PHP programming, it is faster to use single quotes to quote string variables than double quotes.
4. Avoid using joint operations in the database
Compared with other Web programming languages, PHP’s database function is very powerful. However, running the database in PHP is still a very time-consuming and labor-intensive matter. Therefore, as a Web programmer, you must minimize database query operations and establish appropriate indexes for the database. Another thing worth noting is that when using PHP to operate a database, try not to use joint operations of multiple data tables. Although joint operations can enhance the query function of the database, it greatly increases the burden on the server.
To illustrate this problem, we can look at the simple example below.
We created two data tables foo and big_foo in the database. In the data table foo, there is only one field, which contains all natural numbers from 1 to 1000. The data table big_foo also has only one field, but contains all natural numbers from 1 to 1,000,000. So, in terms of size, big_foo is equal to foo combined with itself.
$db->query("select * from foo");
0.032273 secs
$db->next_record();
0.00048999999999999 secs
$db->query( "insert into foo values (NULL)");
0.019506 secs
$db->query("select * from foo as a, foo as b");
17.280596 secs
$db ->query("select * from foo as a, foo as b where a.id > b.id");
14.645251 secs
$db->query("select * from foo as a , foo as b where a.id = b.id");
0.041269 secs
$db->query("select * from big_foo");
25.393672 secs
Operation results from above We can find that joining two data tables with 1,000 records is not much faster than operating alone on a large data table with 1,000,000 records.
5. Pay attention to the difference between include and require
In PHP programming, include() and require() have the same functions, but there are some differences in usage The difference is that include() is a conditional inclusion function, while require() is an unconditional inclusion function. For example, in the following example, if the variable $somgthing is true, the file somefile will be included:
if($something){
include("somefile");
}
but regardless of $ What value does something take? The following code will include the file somefile into the file:
if($something){
require("somefile");
}
The following interesting example is sufficient Explain the difference between these two functions.
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}
In this code , the program will include the same file every time it loops. Obviously this is not the programmer's original intention. From the code we can see that this code hopes to include different files in each loop. If you want to complete this function, you must turn to the function
include(){
$i = 1;
while ($i < 3) {
include("somefile.$i" );
$i++;
}
6. Pay attention to the difference between echo and print
The functions of echo and print in PHP are basically the same, but There are also subtle differences between the two. You can use print as an ordinary function in PHP code. For example, after executing the following code, the value of the variable $res will be 1.
$ret = print "Hello World";
This means that print can be used in some complex expressions, but echo cannot. Similarly, the echo statement runs slightly faster than the print statement in the code because the echo statement does not require any value to be returned.