Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Fungsi dalam PHP8: kaedah operasi yang cekap untuk array_key_first(), array_key_last() dan array_column()

Fungsi dalam PHP8: kaedah operasi yang cekap untuk array_key_first(), array_key_last() dan array_column()

WBOY
WBOYasal
2023-05-17 08:12:05890semak imbas

PHP8 ialah versi terkini bahasa PHP, yang memperkenalkan beberapa ciri dan fungsi baharu yang sangat berguna. Artikel ini akan memperkenalkan tiga fungsi baharu dalam PHP8: array_key_first(), array_key_last() dan array_column(), dan membincangkan kaedah operasi yang cekap mereka.

  1. array_key_first()

array_key_first() fungsi mengembalikan nama kunci pertama dalam tatasusunan. Fungsi ini sangat berguna kerana dalam versi sebelumnya, apabila anda ingin mendapatkan nilai kunci elemen pertama, anda perlu menggunakan fungsi reset(). Walau bagaimanapun, fungsi reset() menetapkan semula penunjuk tatasusunan dan mengembalikan bukan sahaja nama kunci elemen, tetapi juga nilainya. Ini boleh menyebabkan masalah dalam beberapa situasi.

Menggunakan fungsi array_key_first() boleh mengelakkan masalah ini, dan ia juga lebih intuitif dan mudah difahami. Berikut ialah contoh menggunakan fungsi array_key_first():

$array = ['foo' => 1, 'bar' => 2, 'baz' => 3];
$firstKey = array_key_first($array);
echo $firstKey; // 输出 'foo'
  1. array_key_last()

array_key_last() fungsi mengembalikan nama kunci terakhir dalam tatasusunan, iaitu sama seperti array_key_first() Sama seperti fungsi, fungsi ini juga sangat berguna. Dalam versi sebelumnya, untuk mendapatkan nama kunci elemen terakhir, anda perlu menggunakan fungsi end(). Walau bagaimanapun, fungsi end() mengalihkan penunjuk tatasusunan ke elemen terakhir dan mengembalikan nilai elemen itu, yang juga boleh menyebabkan masalah.

Menggunakan fungsi array_key_last() boleh mengelakkan masalah ini, dan ia juga lebih intuitif dan mudah difahami. Berikut ialah contoh penggunaan fungsi array_key_last():

$array = ['foo' => 1, 'bar' => 2, 'baz' => 3];
$lastKey = array_key_last($array);
echo $lastKey; // 输出 'baz'
  1. array_column()

array_column() fungsi mengembalikan lajur yang ditentukan dalam tatasusunan. Fungsi ini sangat berguna, terutamanya apabila bekerja dengan jumlah data yang besar. Dalam versi sebelumnya, apabila anda ingin mendapatkan lajur data daripada tatasusunan berbilang dimensi, anda perlu menggunakan gelung atau fungsi array_map().

Menggunakan fungsi array_column() boleh memudahkan kod dan meningkatkan kecekapan pelaksanaan. Berikut ialah contoh menggunakan fungsi array_column():

$data = [
    ['id' => 1, 'name' => 'Alice', 'age' => 20],
    ['id' => 2, 'name' => 'Bob', 'age' => 23],
    ['id' => 3, 'name' => 'Charlie', 'age' => 25],
];

$names = array_column($data, 'name');
print_r($names); // 输出 ['Alice', 'Bob', 'Charlie']

Jika anda ingin mendapatkan berbilang lajur, anda boleh menggunakan tatasusunan sebagai parameter kedua. Berikut ialah contoh menggunakan tatasusunan sebagai parameter kedua:

$data = [
    ['id' => 1, 'name' => 'Alice', 'age' => 20],
    ['id' => 2, 'name' => 'Bob', 'age' => 23],
    ['id' => 3, 'name' => 'Charlie', 'age' => 25],
];

$result = array_column($data, ['id', 'name']);
print_r($result);
// 输出 [
//     ['id' => 1, 'name' => 'Alice'],
//     ['id' => 2, 'name' => 'Bob'],
//     ['id' => 3, 'name' => 'Charlie']
// ]
  1. Kaedah operasi yang cekap

Tiga fungsi di atas sangat berguna dalam PHP8, tetapi jika tidak Gunakan dengan berhati-hati, ia juga boleh menyebabkan masalah prestasi. Berikut ialah beberapa kaedah yang cekap:

  • Gunakan fungsi array_key_first() dan array_key_last() di luar gelung apabila boleh. Memanggil fungsi ini berulang kali dalam gelung membazirkan prestasi.
  • Jika anda hanya memerlukan satu lajur data, anda boleh menggunakan gelung foreach dan bukannya fungsi array_column(). Dalam gelung, gunakan operator [] untuk mendapatkan lajur yang ditentukan.
  • Apabila menggunakan fungsi array_column(), hanya dapatkan lajur yang diperlukan. Jika anda mendapat keseluruhan tatasusunan, anda membuang memori dan masa pemprosesan.

Ringkasnya, fungsi array_key_first(), array_key_last() dan array_column() dalam PHP8 sangat berguna. Menggunakannya boleh menjadikan kod lebih intuitif, lebih mudah difahami dan meningkatkan kecekapan pelaksanaan. Walau bagaimanapun, penjagaan mesti diambil untuk beroperasi dengan cekap apabila menggunakan fungsi ini untuk mengelakkan masalah prestasi.

Atas ialah kandungan terperinci Fungsi dalam PHP8: kaedah operasi yang cekap untuk array_key_first(), array_key_last() dan array_column(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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