ホームページ  >  記事  >  バックエンド開発  >  PHP 配列キー値交換: さまざまなデータ型に基づくアルゴリズムの選択

PHP 配列キー値交換: さまざまなデータ型に基づくアルゴリズムの選択

WBOY
WBOYオリジナル
2024-05-01 21:12:02809ブラウズ

PHP 配列のキー値を交換する方法は、データ型によって異なります。 連想配列 (文字列または整数キー): array_flip() 関数を使用します。通常の配列 (整数キー): asort() を使用して配列をソートし、array_keys() を使用してキーを取得します。オブジェクトの配列: array_map() およびコールバック関数を使用して、オブジェクトのプロパティを新しい配列にマップします。

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

PHP 配列のキーと値の交換: データ型に基づくアルゴリズムの選択

PHP では、配列は順序付けされた And キーです。データ構造。キーと値の交換とは、配列のキーと値を交換して新しい配列を形成することを指します。配列内の要素のデータ型に応じて、キーと値の交換にはさまざまなアルゴリズムがあります。

アルゴリズムの選択

データ型 アルゴリズム
連想配列 (キーは文字列または整数) 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
// )

2. 通常の配列

$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
// )

3. オブジェクト配列

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
//         )
// )

以上がPHP 配列キー値交換: さまざまなデータ型に基づくアルゴリズムの選択の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。