Home Backend Development PHP Tutorial php optimization skills

php optimization skills

Jun 07, 2018 am 10:44 AM
php code optimization Code optimization

This article mainly introduces PHP optimization skills. Interested friends can refer to it. I hope it will be helpful to everyone.

When programmers write programs, they always want to make their programs occupy the smallest amount of resources, run faster, and have less code. Often we lose a lot of things while pursuing these. The purpose of optimization is to spend the least cost in exchange for the fastest running speed and the easiest to maintain code. The following is a summary of several PHP optimizations:
1. Usage of in_array
Avoid using in_array() on large arrays, and avoid containing more than 20 elements in a loop Arrays use this function. in_array() can be very resource intensive. For small arrays the impact may be minimal, but checking large arrays in a loop may take several seconds. If you really need this functionality, use isset() to find array elements. In fact, the key name is used to query the key value. Calling isset($array[$var]) is much faster than in_array($var, array_keys($array)).

2. Array key name
In PHP, it is legal to use a string without single quotes as an array key name, but we don’t want this - key name Should always be enclosed in single quotes to avoid confusion. Note that this is using a string instead of a variable as the key name.

For example:

// 不好的写法
$foo = $assoc_array[blah];
// 好的写法
$foo = $assoc_array['blah'];
// 不好的写法
$foo = $assoc_array["$var"];
// 好的写法
$foo = $assoc_array[$var];
Copy after login

3. String expression There are two different ways to represent a string in PHP - single quotes or double quotes. The main difference is that the syntax interpreter will perform variable substitution on strings represented by double quotes, but will not handle strings represented by single quotes. Therefore you should always use single quotes unless you really need to handle variables within a string. In this way, we can reduce program running costs, because the syntax interpreter does not need to process a lot of strings with no variables at all each time.
Similarly, if you use a string variable as an argument in a function call, you do not need to enclose the variable in quotes. This will cause the grammar interpreter to do more work than necessary. Remember, almost all escape characters in double quotes have no effect on single quotes. You need to pay attention to the above rules, but sometimes it is appropriate to make exceptions for the sake of code readability.

For example:

// 不好的写法
$str = "This is a really long string with no variables for the parser to find.";
do_stuff("$str");
// 好的写法
$str = 'This is a really long string with no variables for the parser to find.';
do_stuff($str);
// 有时候单引号不是那么合适
$post_url = $phpbb_root_path . 'posting.' . $phpEx . '?mode=' . $mode . '&start=' . $start;
// 双引号有时候能让代码行更集中
$post_url = "{$phpbb_root_path}posting.$phpEx?mode=$mode&start=$start";
Copy after login

4. Operations in the loop definition If there are operations in the comparison part, please be sure to optimize them. Because this part will operate at every step in the loop:

// 在每次循环中sizeof函数都要被调用
 for ($i = 0; $i < sizeof($post_data); $i++)
 {
  do_something();
 }
// 您可以在循环起始部分对这个不变的量赋值
 for ($i = 0, $size = sizeof($post_data); $i < $size; $i++)
 {
  do_something();
 }
Copy after login

5. Branch judgment, switchcase is better than ifelse Using branch statements is much better than using many ifelse.

6. Don’t abuse the @ operator
Don’t abuse the @ operator. It seems very simple, but in fact, using @ is several times less efficient than not using @.
Especially don’t use @ in loops.

7. How to get the time
Many times we are used to using time() to get the current time, but time() is a function after all. It is better to use $_SERVER['REQUEST_TIME directly ']better.

8. String length judgment
Two ways to write:
(1) if(strlen($str) < 5){/ * do something */}
(2)if(isset($str[5])){ /* do something */ }

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

Related recommendations:

Methods and cases for implementing matrix transpose operation of two-dimensional arrays in PHP

Methods and cases of merging multiple pictures into one in PHP

PHP development case of WeChat refund function

The above is the detailed content of php optimization skills. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to refactor Java code well How to refactor Java code well Jun 15, 2023 pm 09:17 PM

As one of the most popular programming languages ​​in the world, Java has become the language of choice for many businesses and developers. However, code refactoring is crucial to maintaining code quality and development efficiency. Java code can become increasingly difficult to maintain over time due to its complexity. This article will discuss how to refactor Java code to improve code quality and maintainability. Understand the principles of refactoring The purpose of Java code refactoring is to improve the structure, readability and maintainability of the code, rather than simply "changing the code". because

Code optimization techniques in PHP high concurrency processing Code optimization techniques in PHP high concurrency processing Aug 11, 2023 pm 12:57 PM

Code optimization techniques in PHP high concurrency processing With the rapid development of the Internet, high concurrency processing has become an important issue in web application development. In PHP development, how to optimize code to cope with high concurrent requests has become a difficult problem that programmers need to solve. This article will introduce some code optimization techniques in PHP high concurrency processing, and add code examples to illustrate. Reasonable use of cache For high concurrency situations, frequent access to the database will lead to excessive system load and relatively slow access to the database. Therefore, we can

What are the common methods for program performance optimization? What are the common methods for program performance optimization? May 09, 2024 am 09:57 AM

Program performance optimization methods include: Algorithm optimization: Choose an algorithm with lower time complexity and reduce loops and conditional statements. Data structure selection: Select appropriate data structures based on data access patterns, such as lookup trees and hash tables. Memory optimization: avoid creating unnecessary objects, release memory that is no longer used, and use memory pool technology. Thread optimization: identify tasks that can be parallelized and optimize the thread synchronization mechanism. Database optimization: Create indexes to speed up data retrieval, optimize query statements, and use cache or NoSQL databases to improve performance.

Java Spring Boot Security performance optimization: make your system fly Java Spring Boot Security performance optimization: make your system fly Feb 19, 2024 pm 05:27 PM

1. Code optimization to avoid using too many security annotations: In Controller and Service, try to reduce the use of @PreAuthorize and @PostAuthorize and other annotations. These annotations will increase the execution time of the code. Optimize query statements: When using springDataJPA, optimizing query statements can reduce database query time, thereby improving system performance. Caching security information: Caching some commonly used security information can reduce the number of database accesses and improve the system's response speed. 2. Use indexes for database optimization: Creating indexes on tables that are frequently queried can significantly improve the query speed of the database. Clean logs and temporary tables regularly: Clean logs and temporary tables regularly

Code optimization key skills in Java framework performance optimization Code optimization key skills in Java framework performance optimization Jun 03, 2024 pm 01:16 PM

In Java framework performance optimization, code optimization is crucial, including: 1. Reduce object creation; 2. Use appropriate data structures; 3. Avoid blocking I/O; 4. Optimize string operations; 5. Avoid reflection. By following these tips, you can improve framework performance, such as optimizing Hibernate queries to reduce the number of database calls.

How to refactor code in Go language How to refactor code in Go language Jun 02, 2023 am 08:31 AM

With the continuous deepening of software development and the continuous accumulation of code, code refactoring has become an inevitable part of the modern software development process. It is a process of modifying the established code of a system to improve its structure, performance, readability, or other related aspects. In this article, we will explore how to do code refactoring in Go language. Defining Refactoring Goals Before starting code refactoring, we should set a clear refactoring goal. We need to ask ourselves some questions, such as what are the problems with this code? We need to reconstruct

How to refactor C++ code? How to refactor C++ code? Nov 04, 2023 pm 04:40 PM

C++ is a very powerful, flexible and widely used programming language. However, with the continuous development of projects and the continued relative reuse of code, there will be problems such as a decrease in code quality and readability. At this time, the code needs to be refactored to achieve better code quality and higher maintainability. This article will introduce how to refactor C++ code. Define your goals Before you start refactoring your code, you need to define what you want to accomplish. For example, you may want to improve code readability, reduce code duplication, improve code performance, etc. none

Optimize your code: PHP performance tips Optimize your code: PHP performance tips Jun 05, 2023 am 08:21 AM

In actual development, in order to achieve better performance and higher scalability of a website or application, the optimization of PHP code is a very important step. Here are some PHP performance tips to help your code run faster. 1. Minimize function calls and variables 1.1 Function calls Function calls have a great impact on the performance of PHP code, because each function needs to allocate space in memory. When writing PHP code, you should try to avoid too many function calls and use inline functions or custom functions instead. 1.2 Variables

See all articles