Untuk pertukaran nilai kunci tatasusunan PHP, penyelesaian optimum bergantung pada senario tertentu. Untuk tatasusunan yang mengandungi kunci rentetan, fungsi array_flip ialah kaedah yang paling cekap untuk jenis kunci lain, anda boleh menggunakan gelung foreach atau tatasusunan bersekutu. Kaedah khusus termasuk: fungsi array_flip: terus menukar kunci dan nilai. gelung foreach: Gunakan pembolehubah sementara untuk menukar kunci dan nilai. Tatasusunan bersekutu: menyimpan nilai sebagai kunci dan kunci sebagai nilai. . berguna. Artikel ini akan meneroka beberapa cara untuk melaksanakan pertukaran nilai kunci tatasusunan, memfokuskan pada penyelesaian optimum dalam senario tertentu.
Kaedah
1. Fungsi array_flip
fungsi array_flip boleh digunakan untuk menukar terus kekunci dan nilai tatasusunan. Ia mengembalikan tatasusunan baharu di mana nilai tatasusunan asal menjadi kunci dan kunci tatasusunan asal menjadi nilai.$originalArray = ['name' => 'John', 'age' => 30]; $flippedArray = array_flip($originalArray); // $flippedArray 值为 ['John' => 'name', 30 => 'age']
foreach
foreach
untuk menukar nilai kunci secara manual dan mencapai ini dengan menukar dua pembolehubah sementara. $originalArray = ['name' => 'John', 'age' => 30]; $flippedArray = []; foreach ($originalArray as $key => $value) { $flippedArray[$value] = $key; } // $flippedArray 值为 ['John' => 'name', 30 => 'age']
$originalArray = ['name' => 'John', 'age' => 30]; $flippedArray = []; foreach ($originalArray as $key => $value) { $flippedArray[$value] .= ($flippedArray[$value] !== '' ? ', ' : '') . $key; } // $flippedArray 值为 ['John' => 'name', 30 => 'age']
Katakan kita mempunyai tatasusunan yang menyimpan kunci rentetan dengan nilai integer yang sepadan dan perlu menggunakan nilai ini sebagai kunci dan kunci sebagai nilai. Dalam kes ini, menggunakan fungsi array_flip
ialah pendekatan yang paling cekap dan ringkas. foreach
循环
可以使用 foreach
循环手动交换键值,并通过交换两个临时变量来实现。
$originalArray = ['one' => 1, 'two' => 2, 'three' => 3]; $flippedArray = array_flip($originalArray); // $flippedArray 值为 [1 => 'one', 2 => 'two', 3 => 'three']
3. 使用关联数组
对于包含字符串键的数组,可以使用关联数组将值存储为键,而键存储为值。
实战案例
假设我们有一个存储字符串键与其相应整数值的数组,并且需要将这些值用作键,而将键用作值。在这种情况下,使用 array_flip
函数是最有效和最简洁的方法。
结论
根据不同的场景,有几种方法可以实现 PHP 中的数组键值互换。array_flip 函数通常是最优选择,特别是对于包含字符串键的数组。对于包含其他类型的键的数组,可以使用 foreach
rrreee
foreach
atau tatasusunan bersekutu. 🎜Atas ialah kandungan terperinci Pertukaran nilai kunci tatasusunan PHP: perbincangan tentang penyelesaian optimum dalam senario tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!