Home  >  Article  >  Backend Development  >  How to implement multi-condition filtering in PHP arrays (three methods)

How to implement multi-condition filtering in PHP arrays (three methods)

PHPz
PHPzOriginal
2023-04-11 09:16:301775browse

PHP array is a very powerful data structure that makes data storage simpler and more efficient. In the process of writing PHP programs, it is often necessary to filter arrays with multiple conditions. This article will introduce how to implement multi-condition filtering in PHP arrays.

1. Understand PHP arrays

Before using PHP arrays, you must understand the basic structure and definition method of PHP arrays. An array is a simple data structure that can store multiple values ​​in a single variable. In PHP, arrays can be defined using the following two methods:

  1. Using the array() function

Using the array() function to define an array is very simple, just Just enter the value in the brackets. For example, the following code creates an array with three elements:

$my_array = array('apple', 'banana', 'orange');
  1. Use the [] notation

After PHP 5.4, you can use the [] notation to define array. For example:

$my_array = ['apple', 'banana', 'orange'];

Through the above two methods, you can create and initialize an array. Next, we will discuss how to use PHP arrays for multi-condition filtering.

2. Implement multi-condition filtering

In PHP program development, it is necessary to filter elements in the array based on different conditions. For example, sort an array of student scores according to different subjects, output only passing scores, etc. Commonly used multi-condition filtering methods are introduced below.

  1. Use foreach loop to filter

Using foreach loop is the most basic multi-condition filtering method. Loop through the elements in the array and filter based on conditions. For example, the following code filters based on subjects and scores:

$scores = array(
    array('name' => 'Tom', 'subject' => 'Math', 'score' => 80),
    array('name' => 'Jerry', 'subject' => 'English', 'score' => 70),
    array('name' => 'Bob', 'subject' => 'Math', 'score' => 90),
    array('name' => 'Alice', 'subject' => 'English', 'score' => 60),
);
 
foreach ($scores as $score) {
    if ($score['subject'] == 'Math' && $score['score'] >= 80) {
        echo $score['name'] . ' passed Math with score ' . $score['score'] . "<br />";
    }
}

In the above example, a foreach loop is used to traverse an array named $scores and print the elements that meet the criteria.

  1. Using the array_filter function

The array_filter function is a very powerful function in PHP, which can filter elements in an array based on specified conditions. For example, the following code uses the array_filter function to filter subjects and scores:

$scores = array(
    array('name' => 'Tom', 'subject' => 'Math', 'score' => 80),
    array('name' => 'Jerry', 'subject' => 'English', 'score' => 70),
    array('name' => 'Bob', 'subject' => 'Math', 'score' => 90),
    array('name' => 'Alice', 'subject' => 'English', 'score' => 60),
);
 
$result = array_filter($scores, function($score) {
    return ($score['subject'] == 'Math' && $score['score'] >= 80);
});
 
print_r($result);

In the above example, the array_filter function is used to filter the $scores array and return elements that meet the conditions.

  1. Using the array_reduce function

The array_reduce function is another very useful function in PHP, which can accumulate or calculate elements in an array. For example, the following code uses the array_reduce function to filter subjects and scores, and calculates the total score:

$scores = array(
    array('name' => 'Tom', 'subject' => 'Math', 'score' => 80),
    array('name' => 'Jerry', 'subject' => 'English', 'score' => 70),
    array('name' => 'Bob', 'subject' => 'Math', 'score' => 90),
    array('name' => 'Alice', 'subject' => 'English', 'score' => 60),
);
 
$result = array_reduce($scores, function($total, $score) {
    if ($score['subject'] == 'Math' && $score['score'] >= 80) {
        $total += $score['score'];
    }
    return $total;
}, 0);
 
echo $result;

In the above example, the array_reduce function is used to filter the $scores array and calculate the total number of elements that meet the conditions. Fraction.

3. Summary

The above introduces several methods to implement multi-condition filtering in PHP arrays, including using foreach loop, array_filter function and array_reduce function. According to different application scenarios, choosing the appropriate method can make querying data simpler and more efficient. Of course, in the actual development process, other methods can also be combined for multi-condition screening to achieve better results.

The above is the detailed content of How to implement multi-condition filtering in PHP arrays (three methods). For more information, please follow other related articles on the PHP Chinese website!

Statement:
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