Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menukar rentetan angka ke dalam tatasusunan dalam php
Dalam pengaturcaraan PHP, menukar rentetan nombor kepada tatasusunan adalah keperluan yang sangat biasa, seperti membaca lajur nombor dalam fail csv, menyimpannya sebagai tatasusunan untuk operasi seterusnya atau membaca lajur nombor daripada pangkalan data , juga perlu ditukar kepada tatasusunan untuk diproses. Artikel ini memperkenalkan beberapa kaedah untuk menukar rentetan digital kepada tatasusunan.
Kaedah 1: Gunakan fungsi str_split
Fungsi str_split boleh memisahkan rentetan kepada tatasusunan, contohnya:
$str = "123456"; $arr = str_split($str); print_r($arr);
Output:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Kaedah ini sangat mudah, tetapi perlu diingat bahawa jika rentetan nombor mengandungi tanda negatif atau titik perpuluhan, ia tidak akan diproses dengan betul menggunakan kaedah ini.
Kaedah 2: Gunakan fungsi preg_split
Fungsi preg_split boleh memisahkan rentetan kepada tatasusunan mengikut pembatas yang ditentukan, contohnya:
$str = "1,2,3,4,5,6"; $arr = preg_split('/,/', $str); print_r($arr);
Output:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Kaedah ini lebih fleksibel daripada str_split, dan pemisah berbeza boleh ditentukan mengikut situasi sebenar.
Kaedah 3: Gunakan fungsi letupan
Fungsi letupan juga boleh memisahkan rentetan kepada tatasusunan mengikut pembatas yang ditentukan, contohnya:
$str = "1,2,3,4,5,6"; $arr = explode(',', $str); print_r($arr);
Output:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Berbanding dengan fungsi preg_split, fungsi explode lebih ringkas, tetapi prestasinya lebih teruk sedikit daripada preg_split.
Kaedah 4: Gunakan fungsi str_split dan array_map
Kaedah ini menggabungkan fungsi str_split dan array_map untuk menukar rentetan digital kepada tatasusunan, contohnya:
$str = "123456"; $arr = array_map('intval', str_split($str)); print_r($arr);
Output:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Kaedah ini menggunakan fungsi array_map untuk menukar tatasusunan rentetan kepada tatasusunan integer, sambil mengekalkan keupayaan pemisahan fungsi str_split.
Kaedah 5: Gunakan ungkapan biasa
Jika anda perlu menghuraikan rentetan angka kompleks, seperti "1,2,3 | 4,5,6 | 7,8,9", Biasa ungkapan boleh digunakan untuk menghurai, contohnya:
$str = "1,2,3 | 4,5,6 | 7,8,9"; $arr = preg_split('/[\s|,]+/', $str, -1, PREG_SPLIT_NO_EMPTY); print_r($arr);
Output:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )
Kaedah ini menggunakan [s|,]+ dalam ungkapan biasa untuk memadankan sebarang ruang, Bar menegak aksara dan koma digunakan bersama-sama dengan bendera PREG_SPLIT_NO_EMPTY untuk memastikan tiada unsur kosong dipecahkan.
Ringkasan
Kaedah di atas boleh menukar rentetan digital kepada tatasusunan, masing-masing mempunyai kelebihan dan kekurangannya sendiri. Perlu memilih kaedah yang paling sesuai mengikut keadaan sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan angka ke dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!