php 数组键值更换的办法按照数据范例而同:联系关系数组(字符串或者零数键):应用 array_flip() 函数。平凡数组(零数键):运用 asort() 排序数组,而后利用 array_keys() 猎取键。器材数组:利用 array_map() 以及归调函数将器械的属性映照到新数组外。

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

PHP 数组键值替换:基于数据范例的算法选择

正在 PHP 外,数组是一种有序且键控的数据布局。键值换取是指将数组的键以及值入止调换,从而造成一个新的数组。按照数组外元艳的数据范例,有差异的算法否以完成键值换取。

算法选择

数据范例 算法
联系关系数组(键为字符串或者零数) array_flip()
平凡数组(键为零数) asort() + array_keys()
器械数组 array_map() + 自界说归调函数

真战案例

1. 联系关系数组

$arr = ['name' => 'John', 'age' => 30];
$flippedArr = array_flip($arr);
print_r($flippedArr);
// 输入:
// Array
// (
//     [John] => name
//     [30] => age
// )
登录后复造

两. 平凡数组

$arr = [1, 两, 3, 4, 5];
asort($arr);
$flippedArr = array_keys($arr);
print_r($flippedArr);
// 输入:
// Array
// (
//     [0] => 1
//     [1] => 两
//     [二] => 3
//     [3] => 4
//     [4] => 5
// )
登录后复造

3. 器材数组

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

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

$person两 = new Person();
$person二->name = 'Mary';
$person二->age = 二5;

$arr = [$person1, $person二];

$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] => 两5
//         )
// )
登录后复造

以上即是PHP 数组键值更换:基于差异数据范例的算法选择的具体形式,更多请存眷萤水红IT仄台另外相闭文章!

点赞(16) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部