Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar rentetan kepada tatasusunan dalam php

Bagaimana untuk menukar rentetan kepada tatasusunan dalam php

PHPz
Lepaskan: 2023-04-12 09:07:58
asal
1407 orang telah melayarinya

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.

1. Gunakan fungsi explode

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

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);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)
Salin selepas log masuk
Salin selepas log masuk

2. Gunakan fungsi preg_split Fungsi

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

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);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)
Salin selepas log masuk
Salin selepas log masuk

3. Gunakan fungsi str_split

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

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);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => h
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => w
    [7] => o
    [8] => r
    [9] => l
    [10] => d
)
Salin selepas log masuk

4. Gunakan fungsi str_split dan fungsi mb_substr

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);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 你
    [1] => 好
    [2] => ,
    [3] => 世
    [4] => 界
    [5] => !
)
Salin selepas log masuk

Kesimpulan

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!

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