Rumah > pembangunan bahagian belakang > tutorial php > Pertukaran nilai kunci tatasusunan PHP: perbandingan prestasi dengan bahasa pengaturcaraan lain

Pertukaran nilai kunci tatasusunan PHP: perbandingan prestasi dengan bahasa pengaturcaraan lain

王林
Lepaskan: 2024-04-30 12:48:01
asal
934 orang telah melayarinya

Fungsi array_flip() PHP berfungsi lebih baik daripada PHP pada tugas pertukaran nilai kunci, tetapi ketinggalan di belakang C++, JavaScript dan Python. Hasil penanda aras khusus menunjukkan: C++ mengambil masa 0.000025 saat, JavaScript mengambil masa 0.000029 saat, Python mengambil masa 0.000032 saat dan PHP mengambil masa 0.000047 saat.

PHP 数组键值互换:与其他编程语言的性能对比

Pertukaran Nilai Kunci Tatasusunan PHP: Perbandingan Prestasi dengan Bahasa Pengaturcaraan Lain

Pengenalan

Pertukaran Nilai Kunci Tatasusunan adalah operasi biasa yang melibatkan banyak bahasa pengaturcaraan tatasusunan dan pertukaran nilai. Dalam PHP, ini boleh dilakukan dengan mudah menggunakan fungsi array_flip(). Walau bagaimanapun, apabila bercakap tentang prestasi, adalah berguna untuk membandingkannya dengan bahasa pengaturcaraan popular yang lain.

php

$array = ['a' => 1, 'b' => 2, 'c' => 3];

$flipped = array_flip($array);
Salin selepas log masuk
e

array = {'a': 1, 'b': 2, 'c': 3}

flipped = {v: k for k, v in array.items()}
Salin selepas log masuk
e

javascriptrreeee

c ++ (menggunakan std :: unordered_map)

const array = {a: 1, b: 2, c: 3};

const flipped = Object.fromEntries(Object.entries(array).map(([k, v]) => [v, k]));
Salin selepas log masuk

praktikal kes Fail JSON mengandungi data berikut:

#include <unordered_map>

int main() {
  std::unordered_map<std::string, int> array = {{"a", 1}, {"b", 2}, {"c", 3}};

  std::unordered_map<int, std::string> flipped;
  for (auto const& [key, value] : array) {
    flipped[value] = key;
  }

  return 0;
}
Salin selepas log masuk
Untuk menukar nilai utama, anda boleh menggunakan kod berikut:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}
Salin selepas log masuk

Output:

$json = json_decode($jsonString, true);
$flipped = array_flip($json);

var_dump($flipped);
Salin selepas log masuk
Ujian Prestasi

Untuk membandingkan prestasi bahasa yang berbeza, anda boleh menggunakan rangka kerja penanda aras. Berikut adalah hasil penanda aras yang dilakukan menggunakan PHPBench:

Bahasa

Masa (saat)

0.000047 0003 20.0000290.000025Seperti yang dapat dilihat daripada keputusan, C++ ialah bahasa berprestasi terbaik untuk input kecil, diikuti oleh JavaScript dan Python. PHP menunjukkan prestasi yang lebih teruk dalam ujian ini.
PHP
JavaScript
C++

Atas ialah kandungan terperinci Pertukaran nilai kunci tatasusunan PHP: perbandingan prestasi dengan bahasa pengaturcaraan lain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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