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

Bagaimana untuk menukar rentetan angka ke dalam tatasusunan dalam php

PHPz
Lepaskan: 2023-04-26 17:38:19
asal
868 orang telah melayarinya

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

Output:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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

Output:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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

Output:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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

Output:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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

Output:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)
Salin selepas log masuk

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!

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