Summary of techniques for optimizing PHP code
1. If a method can be static, declare it as static, and the speed can be increased by 1/4;
2. Echo is more efficient than print, because echo has no return value and print returns an integer;
3. Set the maximum number of loops before the loop, not during the loop;
4. Destroy variables To release memory, especially large arrays;
5. Avoid using magic methods like __get, __set, __autoload, etc.;
6. requirere_once() is more resource intensive;
7. In includes and requires Use absolute paths, so you spend less time analyzing paths;
8. If you need to get the time from sexinsex to script execution, $_SERVER['REQUSET_TIME'] is better than time();
9. Yes If you use character processing functions, try to use them because they are more efficient than regular ones;//
10. str_replace character replacement is faster than regular replacement preg_replace, but strtr is 1/4 faster than str_replace;
11. If a function It can accept both arrays and simple characters as parameters, such as character replacement, and the parameter list
is not too long. You can consider using more concise replacement statements to replace only one character at a time instead of accepting arrays
. Parameters for find and replace. Make big things small, 1+1>2;
12. Using @ to cover up errors will reduce the running speed of the script;
13. $row['id'] is 7 times faster than $row[id], it is recommended to keep it The habit of adding quotes to array keys;
14. Error messages are very useful;
15. Don’t use functions in loops, such as For($x=0; $x < count($array); $x ), the count() function is calculated first outside;
16. Creating a global variable is 2 times slower than a local variable;
17. Creating an object attribute (a variable in a class) such as ($this- > ;prop++) is 3 times slower than local variables;
18. Creating an undeclared local variable is 9-10 times slower than an initialized local variable;
19. Showing that a local variable has not been used by any function Global variables will also reduce performance (the same as declaring the same number of local variables
), PHP may check whether this global variable exists;
20. The performance of the method is the same as that of the method defined in a class The number does not matter, because there is no performance difference after I add 10 or more methods
to the tested class (these methods are before and after the test method);
21. The performance of methods in subclasses is better than that in subclasses In the base class;
22. A function that calls only one parameter and has an empty function body takes 7-8 $localvar++ operations to run, while
a similar method (function in the class) takes approximately 15 $localvar++ operations;
23. It is faster to use commas instead of dots when outputting strings. Note: This only works for echo. This function can accept some strings as parameters;
24. In the apache server, a php script page takes at least 2-10 more times to generate than the corresponding HTML static page. Times
time, it is recommended to use more static HTML pages and a small number of scripts;
25. Unless you have a cache installed, your php script needs to be recompiled every time it is accessed. It is recommended to install a php
caching program, which can significantly improve your performance by 20-100% by removing some repeated compilation;
26. It is recommended to use memcached, a high-performance distributed memory object caching system, to improve Dynamic network application performance,
reduce the burden on the database;
27. Use the ip2long() and long2ip() functions to convert the IP address into an integer type and store it in the database instead of a character type. This reduces storage space by almost 1/4. At the same time, addresses can be easily sorted and searched quickly;
28. Use checkdnsrr() to confirm the validity of some email addresses through the existence of domain names. This built-in function can ensure that
each domain name corresponds to an IP address. ;
29. If you are using php5 and mysql4.1 or above, consider using the improved function mysqli_* of mysql_*;
30. Try to use the ternary operator (?:);
31. Before you think about completely redoing your project, see if PEAR has what you need. PEAR is a huge resource library,
many PHP developers know it;
32. Use highlight_file() to automatically print a well-formatted copy of the page source code;
33. Use error_reporting( 0) function to prevent potentially sensitive information from being displayed to the user. Ideally error reporting should be
completely disabled in the php.ini file. But if you are using a shared virtual host and you cannot modify php.ini,
then you'd better add the error_reporting(0) function and put it on the first line of each script file (or use
require_once( ) to load) This can effectively protect sensitive SQL queries and paths from being displayed when errors occur;
34. Use gzcompress() and gzuncompress() to compress (decompress) large-capacity strings and store them in ( When taking out) number
database. This built-in function can be compressed to 90% using the gzip algorithm;
35. A function can have multiple return values by referencing parameter variable addresses. You can add an "&" before the variable to indicate that
is passed by address rather than by value;
36. Using strlen() is not very fast because it needs to call some other operations such as lowercase and hash table queries. ,
We can use isset() to achieve similar functions, isset() is faster than strlen();