PHP には、配列キー値を変換するために最も一般的に使用される 3 つのソリューションがあります。 array_flip() 関数: 最速の ksort() 関数: ソート キーが必要な状況に適しています。 カスタム イテレーター: 小さな配列に効率的です。
PHP では、配列キー値の変換は一般的なタスクです。これを行うにはいくつかの異なる方法があり、それぞれに独自の効率特性があります。この記事では、最も一般的に使用される 3 つのソリューション、array_flip()
関数、ksort()
関数、およびカスタム イテレータを分析します。
array_flip()
関数 array_flip()
この関数は、キーと値を交換した新しい配列を作成します。これは、配列キー値を変換する最も速い方法です:
$array = ['a' => 1, 'b' => 2, 'c' => 3]; $flipped = array_flip($array); // $flipped = [1 => 'a', 2 => 'b', 3 => 'c']
ksort()
Functionksort()
この関数は、次の操作を実行します。配列キーの並べ替え。次に、並べ替えられた配列内のキーを新しい配列のキーとして使用し、値を新しい配列の値として使用できます:
$array = ['b' => 2, 'c' => 3, 'a' => 1]; ksort($array); // $array = ['a' => 1, 'b' => 2, 'c' => 3] $flipped = array_combine(array_keys($array), array_values($array)); // $flipped = [1 => 'a', 2 => 'b', 3 => 'c']3。カスタム反復子を使用して、元の配列を反復処理し、キーと値を交換した新しい配列を作成できます。
$array = ['a' => 1, 'b' => 2, 'c' => 3]; $flipped = []; foreach ($array as $key => $value) { $flipped[$value] = $key; }実践例以下は、ユーザーをマッピングする実践的な例です。 ID からユーザー名配列への変換:
// 假设 $users 是一个关联数组,键为用户 ID,值为用户名 $userIds = [10, 20, 30]; // 使用 `array_flip()` 函数创建映射 $usernameMap = array_flip($users); // 使用映射获取特定用户 ID 的用户名 $username = $usernameMap[20]; // 'user20'効率分析ほとんどの場合、
array_flip() 関数が最も速い解決策です。ただし、変換後にキーをソートする必要がある場合は、
ksort() メソッドの方が適しています。カスタム反復子も小さな配列では効率的ですが、配列のサイズが大きくなると効率が低下します。
以上がPHP による配列キー値の変換: さまざまなソリューションの効率分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。