Penyongsangan nilai kunci tatasusunan PHP: penyelesaian untuk meningkatkan prestasi

WBOY
Lepaskan: 2024-04-30 18:15:01
asal
623 orang telah melayarinya

Dalam PHP, menyongsangkan nilai kunci tatasusunan boleh meningkatkan prestasi. Skim berikut boleh digunakan: array_flip() fungsi: Mencipta tatasusunan baharu, kunci tatasusunan asal menjadi nilai tatasusunan baharu, dan nilai tatasusunan asal menjadi kunci tatasusunan baharu. foreach loop: terbalikkan tatasusunan secara manual dan ubah suai nilai. array_map() fungsi dan penutupan: Terbalikkan tatasusunan secara fleksibel dan kembalikan tatasusunan pasangan nilai kunci.

PHP 数组键值倒置:提升性能的方案

Penyongsangan Nilai Utama Tatasusunan PHP: Penyelesaian untuk Meningkatkan Prestasi

Kata Pengantar

Apabila berurusan dengan set data yang besar, penyongsangan nilai utama tatasusunan menjadi penting. Ia boleh meningkatkan prestasi operasi mencari dan mendapatkan semula dengan ketara. Dalam artikel ini, kami akan meneroka pilihan yang berbeza untuk menyongsangkan nilai kunci tatasusunan dalam PHP dan menunjukkan cara anda boleh menggunakannya untuk mengoptimumkan aplikasi anda.

Pilihan 1: fungsi array_flip()

Fungsi array_flip() ialah cara paling mudah untuk menyongsangkan nilai utama suatu tatasusunan. Ia mencipta tatasusunan baharu di mana kunci tatasusunan asal menjadi nilai tatasusunan baharu dan nilai tatasusunan asal menjadi kunci tatasusunan baharu. array_flip() 函数是倒置数组键值的最简单方法。它创建一个新数组,其中原始数组的键成为新数组的值,而原始数组的值成为新数组的键。

$originalArray = ['name' => 'John', 'age' => 30];
$invertedArray = array_flip($originalArray);

// $invertedArray 输出:
// ['John' => 'name', '30' => 'age']
Salin selepas log masuk

方案 2:使用 foreach 循环

如果你需要更多控制或需要修改值,可以使用 foreach 循环手动倒置数组。

$originalArray = ['name' => 'John', 'age' => 30];
$invertedArray = [];

foreach ($originalArray as $key => $value) {
    $invertedArray[$value] = $key;
}

// $invertedArray 输出:
// ['John' => 'name', '30' => 'age']
Salin selepas log masuk

方案 3:使用 array_map() 和 Closure

array_map() 函数和闭包(Closure)提供了另一种灵活的倒置数组键值的方法。

$originalArray = ['name' => 'John', 'age' => 30];

$invertedArray = array_map(function ($value, $key) {
    return [$value, $key];
}, $originalArray);

// $invertedArray 输出:
// [['John', 'name'], ['30', 'age']]
Salin selepas log masuk

实战案例

在以下实战案例中,我们使用 array_flip()

function findUserByName($name) {
    // 从数据库中获取所有用户
    $users = [
        ['id' => 1, 'name' => 'John Doe'],
        ['id' => 2, 'name' => 'Jane Smith'],
    ];

    // 倒置数组,以用户名为键
    $invertedUsers = array_flip($users);

    // 检查倒置数组中是否存在给定用户名
    if (!isset($invertedUsers[$name])) {
        return null;
    }

    // 返回与给定用户名关联的用户 ID
    return $invertedUsers[$name];
}
Salin selepas log masuk

Pilihan 2: Gunakan gelung foreach

🎜🎜Jika anda memerlukan lebih kawalan atau perlu mengubah suai nilai, anda boleh menyongsangkan tatasusunan secara manual menggunakan gelung foreach. 🎜rrreee🎜🎜Pilihan 3: Menggunakan array_map() dan Closure🎜🎜🎜array_map() fungsi dan penutupan (Closure) menyediakan satu lagi cara yang fleksibel untuk menyongsangkan nilai kunci tatasusunan. 🎜rrreee🎜🎜Kes praktikal🎜🎜🎜Dalam kes praktikal berikut, kami menggunakan fungsi array_flip() untuk mengoptimumkan fungsi yang mencari nama pengguna dalam pangkalan data: 🎜rrreee🎜Menterbalikkan tatasusunan boleh mempercepatkan operasi carian Meningkat mengikut susunan magnitud, meningkatkan prestasi aplikasi dengan ketara. 🎜

Atas ialah kandungan terperinci Penyongsangan nilai kunci tatasusunan PHP: penyelesaian untuk meningkatkan prestasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!