Dalam PHP, menukar rentetan kepada tatasusunan ialah operasi biasa, terutamanya apabila menghuraikan data yang diambil daripada pangkalan data atau fail. Di bawah ini kami akan memperkenalkan beberapa kaedah menukar rentetan kepada tatasusunan untuk membantu anda lebih memahami dan menguasai kemahiran biasa ini.
Terdapat fungsi terbina dalam PHP yang dipanggil explode()
, yang boleh digunakan untuk memisahkan rentetan kepada tatasusunan. Fungsi ini menerima dua parameter: pembatas dan rentetan untuk dipisahkan. Berikut ialah sintaks fungsi explode()
:
array explode(string $delimiter , string $string [, int $limit ] )
di mana, parameter $delimiter
ialah aksara atau rentetan yang anda mahu gunakan untuk membelah rentetan $string
ialah rentetan yang diperlukan untuk dipecahkan kepada tatasusunan , parameter ini mestilah rentetan $limit
(pilihan) menentukan had atas bilangan elemen yang dikembalikan. Jika parameter $limit
ditinggalkan, bilangan elemen tatasusunan terbahagi adalah tidak terhad.
Seterusnya, mari kita gunakan contoh berikut untuk menunjukkan cara menggunakan fungsi explode()
untuk memisahkan rentetan kepada tatasusunan:
$str = "apple,banana,orange,grape"; $arr = explode(",", $str); print_r($arr);
Hasil keluaran:
Array ( [0] => apple [1] => banana [2] => orange [3] => grape )
preg_split()
agak serupa dengan fungsi explode()
Kedua-duanya boleh membahagikan rentetan. Fungsi preg_split()
boleh menerima ungkapan biasa sebagai pembatas Contohnya, anda boleh menggunakan s+
untuk memadankan sebarang bilangan ruang atau tab dalam rentetan, yang sangat praktikal semasa memproses fail.
array preg_split(string $pattern, string $string [, int $limit [, int $flags]])
di mana $pattern
ialah ungkapan biasa pilihan, $limit
ialah had atas bilangan elemen tatasusunan dan $flags
mengandungi bitmask tambahan yang mengawal kelakuan fungsi dan boleh diabaikan. Jika parameter $limit
tidak ditetapkan, fungsi mengembalikan semua rentetan pecahan.
Seterusnya, mari kita gunakan contoh berikut untuk menunjukkan cara menggunakan fungsi preg_split()
untuk memisahkan rentetan kepada tatasusunan:
$str = "apple,banana | orange grape"; $arr = preg_split("/[\s,|]+/", $str); print_r($arr);
Hasil keluaran:
Array ( [0] => apple [1] => banana [2] => orange [3] => grape )
str_split()
fungsi untuk memisahkan rentetan kepada tatasusunan aksara. Parameter kaedah length
menentukan bilangan aksara dalam setiap elemen Jika length
tidak diluluskan atau diluluskan sebagai 1
, maka hanya akan ada satu aksara dalam setiap elemen tatasusunan. Berikut ialah sintaks fungsi str_split()
:
array str_split(string $string [, int $length = 1 ])
di mana, $string
ialah rentetan yang ingin kita belah dan $length
ialah panjang setiap elemen tatasusunan aksara.
Seterusnya, mari kita gunakan contoh untuk menunjukkan cara menggunakan fungsi str_split()
untuk memisahkan rentetan kepada tatasusunan:
$str = "hello world"; $arr = str_split($str); print_r($arr);
Hasil keluaran:
Array ( [0] => h [1] => e [2] => l [3] => l [4] => o [5] => [6] => w [7] => o [8] => r [9] => l [10] => d )
Jika rentetan mengandungi aksara bukan Inggeris, seperti Cina, Jepun, Korea, dsb., fungsi str_split()
akan gagal kerana aksara bukan Inggeris mungkin menduduki berbilang bait. Dalam kes ini, fungsi mb_substr()
boleh digunakan dan bukannya fungsi str_split() Fungsi mb_substr() ialah fungsi selamat berbilang bait.
Untuk menggunakan fungsi mb_substr(), anda perlu mendayakan fungsi rentetan berbilang bait dalam PHP terlebih dahulu. Seterusnya, mari kita gunakan contoh untuk menunjukkan cara menggunakan fungsi mb_substr()
untuk memisahkan rentetan kepada tatasusunan aksara:
// 先开启multi-byte字符串扩展 mb_internal_encoding("UTF-8"); mb_regex_encoding("UTF-8"); $str = "你好,世界!"; $arr = []; for ($i = 0; $i < mb_strlen($str); $i++) { $arr[] = mb_substr($str, $i, 1); } print_r($arr);
Hasil keluaran:
Array ( [0] => 你 [1] => 好 [2] => , [3] => 世 [4] => 界 [5] => ! )
Artikel ini memperkenalkan empat kaedah menukar rentetan kepada tatasusunan dalam PHP. Sama ada anda menggunakan fungsi explode()
, fungsi preg_split()
, fungsi str_split()
atau fungsi mb_substr()
, fungsi ini akan menyelesaikan masalah anda apabila anda perlu mengekstrak data daripada rentetan dan menukarnya menjadi tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan kepada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!