Rumah > Artikel > pembangunan bahagian belakang > Fungsi baharu dalam PHP8: helah baharu untuk str_starts_with()
Dalam PHP 8, satu set fungsi rentetan baharu telah ditambah, termasuk fungsi str_starts_with(). Fungsi ini boleh digunakan untuk menentukan sama ada rentetan bermula dengan rentetan lain Seterusnya kita akan meneroka beberapa teknik baharu tentang cara menggunakan fungsi baharu ini untuk menjadikan pembangunan kita berfungsi dengan lebih cekap dan mudah.
Pertama sekali, marilah kita memahami penggunaan asas fungsi str_starts_with(). Fungsi ini menerima dua parameter, yang pertama ialah rentetan yang akan dinilai, dan yang kedua ialah rentetan sebagai bahagian permulaan. Mengembalikan benar jika rentetan pertama bermula dengan rentetan kedua, sebaliknya palsu. Contohnya:
$string = "hello world"; $startsWithHello = str_starts_with($string, "hello"); $startsWithBye = str_starts_with($string, "bye"); var_dump($startsWithHello); // true var_dump($startsWithBye); // false
Sekarang mari kita mula meneroka beberapa helah baharu dengan fungsi str_starts_with().
Dari segi pengisihan semula jadi, kita biasanya perlu menggunakan kod berikut:
function naturalSort($a, $b) { return strnatcmp($a, $b); } usort($array, 'naturalSort');
Walau bagaimanapun, jika kita mahu Sesetengah elemen dalam tatasusunan yang disusun secara semula jadi bermula dengan rentetan tertentu (contohnya, "~"), dan kita mungkin perlu melakukan beberapa pemprosesan khas. Pada masa ini, kita boleh menggunakan fungsi str_starts_with() untuk mengoptimumkan, seperti ini:
function naturalSort($a, $b) { if (str_starts_with($a, '~') && !str_starts_with($b, '~')) { return 1; } elseif (!str_starts_with($a, '~') && str_starts_with($b, '~')) { return -1; } else { return strnatcmp($a, $b); } } usort($array, 'naturalSort');
Ini boleh mengurangkan bilangan panggilan ke fungsi strnatcmp() semasa pengisihan, dengan itu meningkatkan kecekapan.
Dalam sesetengah kes, kita perlu menapis rentetan bermula dengan aksara tertentu daripada tatasusunan rentetan supaya Lakukan beberapa pemprosesan seterusnya pada rentetan ini. Fungsi ini boleh dicapai dengan mudah menggunakan fungsi str_starts_with(). Contohnya:
$array = ["apple", "banana", "orange", "pear"]; $filteredArray = array_filter($array, function($item) { return str_starts_with($item, "a"); }); var_dump($filteredArray); // ["apple"]
Dalam kod di atas, kami menggunakan fungsi array_filter() dan fungsi tanpa nama untuk menapis tatasusunan dan menggunakan fungsi str_starts_with() untuk menentukan sama ada setiap elemen bermula dengan aksara "a" . Hasil akhirnya ialah tatasusunan baharu yang mengandungi hanya rentetan bermula dengan aksara "a".
Dalam sesetengah senario penggantian rentetan, kita hanya perlu menggantikan senario yang bermula dengan aksara atau bahagian rentetan tertentu. Menggunakan fungsi str_starts_with() boleh membantu kami mencapai fungsi ini dan menjadikan operasi penggantian lebih ringkas dan cekap. Sebagai contoh:
$string = "hello world"; $newString = str_starts_with($string, "hello") ? "goodbye" . substr($string, 5) : $string; echo $newString; // "goodbye world"
Dalam kod di atas, kami menggunakan fungsi str_starts_with() untuk menyemak sama ada rentetan bermula dengan "hello", dan jika ya, gunakan fungsi substr() untuk mendapatkan bahagian selepas mengalih keluar watak pertama, Dan tambahkan "selamat tinggal" pada permulaan. Jika tidak, rentetan asal digunakan secara langsung.
Ringkasan
Fungsi str_starts_with() ialah fungsi baharu dalam PHP 8, yang boleh membantu kami memproses permulaan rentetan dengan lebih mudah dan cekap. Dalam artikel ini, kami menunjukkan beberapa helah baharu untuk fungsi str_starts_with(), termasuk mengoptimumkan susunan semula jadi, menapis tatasusunan rentetan berdasarkan aksara permulaan dan menggunakannya dalam penggantian rentetan. Teknik ini boleh membantu kami menangani keperluan pemprosesan rentetan dengan lebih baik dalam pembangunan harian dan meningkatkan kecekapan kerja kami.
Atas ialah kandungan terperinci Fungsi baharu dalam PHP8: helah baharu untuk str_starts_with(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!