Is it possible to specify the array returned by php?

PHPz
Release: 2023-04-23 10:31:01
Original
620 people have browsed it

Is it possible for php to return an array specification?

For beginners, PHP's array is a very important data structure. During development, we often need to return an array, but in some cases, we only need certain items in this array. So, does PHP have a corresponding method that allows us to return only the specified items in the array?

The answer is yes. This article will introduce two PHP functions: array_filter() and array_map(), both of which can return specified items in an array.

array_filter() function

The array_filter() function is a built-in function in PHP. It is used to filter elements in an array that do not meet specific conditions and return elements that meet the conditions. We can use the callback function argument of this function to return an array with the array values ​​we want.

The following is an example:

<?php
$arr = [
    &#39;name&#39; => 'Tom',
    'age' => 20,
    'gender' => 'male'
];

// 只返回 name 和 age
$result = array_filter($arr, function($key) {
    if ($key == 'name' || $key == 'age') {
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_KEY);

print_r($result);
?>
Copy after login

In this example, we use the array_filter() function, which will only return the name and age items in the array. The second parameter of the function is a callback function that receives the key name in the array as a parameter and returns a Boolean value. If true, this element will be included; if false, this element will not be included. The parameter ARRAY_FILTER_USE_KEY indicates that we are passing the key name, not the key value.

If you want to return multiple filtered key-value pairs, you can use the following code:

<?php
$arr = [
    &#39;name&#39; => 'Tom',
    'age' => 20,
    'gender' => 'male'
];

// 只返回 name 和 age
$result = array_filter($arr, function($value, $key) {
    if ($key == 'name' || $key == 'age') {
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_BOTH);

print_r($result);
?>
Copy after login

This example is very similar to the above example, but it passes both the key name and the key value to the callback Function that allows us to compare key names and key values ​​to return multiple key-value pairs.

array_map() function

array_map() function is also a built-in function of PHP. It accepts one or more arrays and returns a new array in which each element is each original array. The processing result of the corresponding element in . We can use this function to return an array with the keys we want instead of the entire array.

The following is an example:

<?php
$arr = [
    &#39;name&#39; => 'Tom',
    'age' => 20,
    'gender' => 'male'
];

// 只返回 name 和 age
$filtered_keys = ['name', 'age'];
$result = array_map(function($key) use ($arr) {
    return $arr[$key];
}, $filtered_keys);

print_r($result);
?>
Copy after login

In this example, we use the array_map() function to return an array including only name and age. The second parameter of the function is an array containing the required keys. We use the callback function of array_map() to get the value of each key and pass the original array using the use keyword.

It should be noted that if we are not sure which items to return, or the number of items can change over time, we should use the array_filter() function. And if we already know which items to return, or the number of items is known, we can use the array_map() function.

Summary

In PHP, we can use the array_filter() and array_map() functions to return specified items in an array. They can all filter or reconstruct the array through callback functions to return the results we want. We can choose which function to use, depending on which items we need to return, and whether the number of items is fixed.

The above is the detailed content of Is it possible to specify the array returned by php?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!