PHP 配列のキー値を交換する方法は、データ型によって異なります。 連想配列 (文字列または整数キー): array_flip() 関数を使用します。通常の配列 (整数キー): asort() を使用して配列をソートし、array_keys() を使用してキーを取得します。オブジェクトの配列: array_map() およびコールバック関数を使用して、オブジェクトのプロパティを新しい配列にマップします。
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 // )
$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 // )
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 サイトの他の関連記事を参照してください。