Home > Backend Development > PHP Tutorial > PHP array key value exchange: algorithm selection based on different data types

PHP array key value exchange: algorithm selection based on different data types

WBOY
Release: 2024-05-01 21:12:02
Original
833 people have browsed it

PHP The method of swapping array key values ​​varies depending on the data type: Associative arrays (string or integer keys): use the array_flip() function. Normal array (integer keys): Use asort() to sort the array, then use array_keys() to get the keys. Array of objects: Use array_map() and callback functions to map an object's properties into a new array.

PHP 数组键值互换:基于不同数据类型的算法选择

PHP array key-value exchange: algorithm selection based on data type

In PHP, an array is an ordered And keyed data structure. Key-value exchange refers to exchanging the keys and values ​​of an array to form a new array. Depending on the data type of the elements in the array, there are different algorithms for key-value interchange.

Algorithm selection

Data type Algorithm
Associative array (keys are strings or integers) array_flip()
Ordinary array (keys are integers) asort() array_keys()
Object array array_map() Custom callback function

##Practical case

1. Associative array

$arr = ['name' => 'John', 'age' => 30];
$flippedArr = array_flip($arr);
print_r($flippedArr);
// 输出:
// Array
// (
//     [John] => name
//     [30] => age
// )
Copy after login

2. Ordinary array

$arr = [1, 2, 3, 4, 5];
asort($arr);
$flippedArr = array_keys($arr);
print_r($flippedArr);
// 输出:
// Array
// (
//     [0] => 1
//     [1] => 2
//     [2] => 3
//     [3] => 4
//     [4] => 5
// )
Copy after login

3. Object array

class Person {
    public $name;
    public $age;
}

$person1 = new Person();
$person1->name = 'John';
$person1->age = 30;

$person2 = new Person();
$person2->name = 'Mary';
$person2->age = 25;

$arr = [$person1, $person2];

$flippedArr = array_map(function ($obj) {
    return [$obj->name, $obj];
}, $arr);

print_r($flippedArr);
// 输出:
// Array
// (
//     ['John'] => Person Object
//         (
//             [name] => John
//             [age] => 30
//         )
//
//     ['Mary'] => Person Object
//         (
//             [name] => Mary
//             [age] => 25
//         )
// )
Copy after login

The above is the detailed content of PHP array key value exchange: algorithm selection based on different data types. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
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