Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tukar rentetan kepada tatasusunan dalam php

Tukar rentetan kepada tatasusunan dalam php

王林
王林asal
2023-05-22 21:09:36688semak imbas

Dalam PHP, menukar rentetan kepada tatasusunan ialah operasi yang sangat biasa. Mungkin anda perlu memproses data daripada borang atau pangkalan data, atau anda perlu menukar beberapa maklumat seperti rentetan kepada tatasusunan untuk pemprosesan selanjutnya. PHP menyediakan banyak kaedah terbina dalam untuk membantu kami menyelesaikan tugas ini.

Artikel ini akan memperkenalkan cara menggunakan kaedah terbina dalam dalam PHP untuk menukar rentetan kepada tatasusunan, dan juga akan membincangkan beberapa penyelesaian dan pertimbangan yang mungkin.

  1. Tukar rentetan kepada tatasusunan satu dimensi

Kita boleh menggunakan kaedah letupan dalam PHP untuk menukar rentetan kepada tatasusunan satu dimensi. Fungsi letupan membahagikan rentetan menggunakan pembatas yang ditentukan dan mengembalikan tatasusunan yang mengandungi subrentetan.

Sintaks: tatasusunan meletup(rentetan $delimiter, rentetan $rentetan [, int $limit])

$delimiter: Pembatas yang ditentukan, yang boleh menjadi aksara tunggal atau rentetan.

$string: Rentetan yang akan dibelah.

$limit: Parameter ini adalah pilihan dan menentukan bilangan elemen tatasusunan yang akan dikembalikan. Jika ditinggalkan atau -1 lulus, semua elemen dikembalikan.

Contoh:

$str = "apple,banana,orange";
$arr = explode(",", $str);
print_r($arr);

Output:

Array ([0] => apple [1] => banana [2] => orange)
  1. Tukar rentetan kepada tatasusunan dua dimensi

Kadangkala kita perlu menukar rentetan yang mengandungi Rentetan berbilang set maklumat ditukar kepada tatasusunan dua dimensi untuk memudahkan pemprosesan selanjutnya kami. Pada masa ini kita boleh menggunakan kaedah letupan digabungkan dengan operasi gelung untuk menyelesaikan tugas.

Contoh:

$str = "张三,20,男|李四,25,女|王五,30,男";
$tmp_arr = explode("|", $str);
foreach ($tmp_arr as $val) {
    $arr[] = explode(",", $val);
}
print_r($arr);

Output:

Array 
( 
    [0] => Array ([0] => 张三 [1] => 20 [2] => 男)
    [1] => Array ([0] => 李四 [1] => 25 [2] => 女)
    [2] => Array ([0] => 王五 [1] => 30 [2] => 男)
)
  1. Tukar kepada tatasusunan untuk data kompleks

Apabila memproses beberapa data kompleks, ia mungkin Beberapa operasi kompleks diperlukan untuk melengkapkan penukaran daripada rentetan kepada tatasusunan.

Sebagai contoh, kita boleh menggunakan kaedah preg_match_all untuk mengambil data tertentu daripada teks dan menukarnya kepada tatasusunan dua dimensi.

Contoh:

$str = "AA朝还暮,BB户外旅行,CC会员卡,DD云南旅游";
preg_match_all("/([A-Z]+)([^A-Z]+)/", $str, $matches, PREG_SET_ORDER);
$arr = array();
foreach ($matches as $val) {
    $arr[] = array("code" => $val[1], "name" => trim($val[2]));
}
print_r($arr);

Output:

Array (
    [0] => Array ([code] => AA [name] => 朝还暮)
    [1] => Array ([code] => BB [name] => 户外旅行)
    [2] => Array ([code] => CC [name] => 会员卡)
    [3] => Array ([code] => DD [name] => 云南旅游)
)

Ringkasan

Menukar rentetan kepada tatasusunan ialah operasi biasa dalam pembangunan PHP, dan PHP menyediakan banyak Terdapat adalah fungsi dan kaedah terbina dalam untuk melakukan kerja. Kita boleh memilih kaedah yang berbeza mengikut keperluan yang berbeza, seperti menggunakan split, preg_split, str_split dan fungsi lain.

Perlu diambil perhatian bahawa apabila menukar rentetan kepada tatasusunan, anda mesti memberi perhatian untuk menghantar parameter yang betul dan menentukan pembatas yang betul. Selain itu, jika rentetan yang perlu ditukar mengandungi aksara bukan pencetakan seperti baris baharu atau tab, ia mungkin menyebabkan pengecualian dalam penukaran berangka. Pada masa ini, anda boleh menggunakan trim dan kaedah lain untuk memproses rentetan menjadi teks biasa dan kemudian melakukan operasi penukaran.

Atas ialah kandungan terperinci Tukar rentetan kepada 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