Dalam pengaturcaraan PHP, kita sering menghadapi keperluan untuk menukar rentetan kepada tatasusunan. Keperluan ini boleh direalisasikan dalam banyak senario, seperti membaca data daripada fail, menghantar data melalui antara muka rangkaian, dsb. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menukar rentetan kepada tatasusunan dan menyediakan beberapa kes penggunaan biasa.
1. Gunakan fungsi explode() untuk menukar rentetan kepada tatasusunan
PHP menyediakan fungsi explode() untuk menukar rentetan kepada tatasusunan. Sintaks fungsi ini adalah seperti berikut:
array explode(string $separator, string $string [, int $limit])
Antaranya, $separator ialah pemisah yang ditentukan, $string ialah rentetan yang perlu diasingkan, $limit ialah parameter pilihan, yang bermaksud membelah rentetan kepada nombor maksimum.
Berikut ialah contoh menggunakan fungsi explode() untuk menukar rentetan yang dipisahkan koma kepada tatasusunan:
$string = "apple,banana,orange"; $array = explode(",", $string); print_r($array);
Kod di atas akan mengeluarkan keputusan berikut:
Array ( [0] => apple [1] => banana [2] => orange )
2. Gunakan fungsi str_split() untuk menukar rentetan menjadi tatasusunan
Fungsi str_split() boleh memisahkan rentetan kepada tatasusunan aksara tunggal. Sintaks fungsi ini adalah seperti berikut:
array str_split(string $string [, int $split_length])
Antaranya, $string ialah rentetan yang perlu dipisahkan, $split_length ialah parameter pilihan, menunjukkan panjang setiap aksara dan nilai lalai ialah 1.
Berikut ialah contoh menggunakan fungsi str_split() untuk menukar rentetan kepada tatasusunan:
$string = "hello world"; $array = str_split($string); print_r($array);
Kod di atas akan mengeluarkan keputusan berikut:
Array ( [0] => h [1] => e [2] => l [3] => l [4] => o [5] => [6] => w [7] => o [8] => r [9] => l [10] => d )
3. Gunakan fungsi preg_split() untuk menukar rentetan menjadi tatasusunan
Jika anda ingin membahagi rentetan mengikut ungkapan biasa, anda boleh menggunakan fungsi preg_split(). Sintaks fungsi ini adalah seperti berikut:
array preg_split(string $pattern, string $string [, int $limit = -1 [, int $flags = 0]])
Antaranya, $pattern ialah ungkapan biasa, $string ialah rentetan yang perlu dipisahkan dan $limit ialah parameter pilihan, yang bermaksud pemisahan rentetan ke dalam Nombor maksimum $flags ialah parameter pilihan yang digunakan untuk menetapkan bendera untuk kelakuan yang sepadan.
Berikut ialah contoh menggunakan fungsi preg_split() untuk memisahkan rentetan dengan ruang dan koma:
$string = "apple, banana orange and pear"; $array = preg_split("/[\s,]+/", $string); print_r($array);
Kod di atas akan mengeluarkan keputusan berikut:
Array ( [0] => apple [1] => banana [2] => orange [3] => and [4] => pear )
4. Kes aplikasi
Dalam senario aplikasi sebenar, biasanya diperlukan untuk membaca data daripada fail luaran dan CSV ( Fail format Comma-Separated Values) ialah format data biasa. Berikut ialah contoh cara menukar data teks dalam fail CSV kepada tatasusunan:
$filename = "data.csv"; $handle = fopen($filename, "r"); $data = array(); while (($row = fgetcsv($handle, 0, ",")) !== FALSE) { $data[] = $row; } fclose($handle); print_r($data);
Kod di atas akan mengeluarkan tatasusunan dua dimensi, dengan setiap baris mewakili rekod dan setiap lajur mewakili atribut nilai.
Dalam pembangunan Web, biasanya perlu menghuraikan halaman HTML untuk mengekstrak data dalam halaman. Berikut ialah contoh cara menggunakan PHP untuk mengekstrak atribut href bagi teg dalam halaman Web:
$webpage = file_get_contents("http://www.example.com"); $links = array(); preg_match_all('/<a\s+[^>]*?href="([^"]*?)"/i', $webpage, $matches); foreach($matches[1] as $url) { $links[] = $url; } print_r($links);
Kod di atas akan mengeluarkan tatasusunan, di mana setiap elemen ialah alamat URL dalam a tag.
Ringkasan
Artikel ini memperkenalkan tiga kaedah menukar rentetan kepada tatasusunan: menggunakan fungsi explode(), menggunakan fungsi str_split() dan menggunakan fungsi preg_split(). Ketiga-tiga kaedah ini sesuai untuk senario yang berbeza. Pada masa yang sama, artikel ini juga menyediakan dua kes aplikasi praktikal untuk membantu pembaca lebih memahami penggunaan kaedah ini.
Atas ialah kandungan terperinci Bagaimana untuk menukar aksara kepada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!