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

WBOY
Lepaskan: 2023-05-17 08:30:02
asal
928 orang telah melayarinya

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'
Salin selepas log masuk
  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'
Salin selepas log masuk
  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']
Salin selepas log masuk

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']
// ]
Salin selepas log masuk
  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!

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