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
PHPzasal
2023-04-26 16:58:41865semak imbas

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!

Kenyataan:
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