Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar rentetan php kepada array
Dalam PHP, kita selalunya perlu menukar rentetan kepada tatasusunan untuk operasi, seperti menghuraikan parameter URL, menghuraikan data JSON, dsb. Artikel ini akan menunjukkan kepada anda cara menukar rentetan kepada tatasusunan menggunakan beberapa fungsi dalam PHP.
fungsi explode() boleh memisahkan rentetan kepada tatasusunan mengikut pembatas yang ditentukan. Sebagai contoh, kami mempunyai rentetan dipisahkan koma, yang boleh ditukar menjadi tatasusunan menggunakan fungsi explode():
$str = "apple,banana,cherry"; $arr = explode(",", $str); print_r($arr);
Outputnya adalah seperti berikut:
Array ( [0] => apple [1] => banana [2] => cherry )
Dalam selain koma, anda boleh Gunakan aksara lain sebagai pemisah, seperti ruang, titik bertindih, paip, dsb.
Jika kita perlu menggunakan ungkapan biasa untuk membelah rentetan, kita boleh menggunakan fungsi preg_split(). Sebagai contoh, kami mempunyai rentetan yang serupa dengan parameter URL, yang boleh dibahagikan kepada tatasusunan mengikut '&' dan '=' menggunakan fungsi preg_split():
$str = "name=John&age=30&gender=male"; $arr = preg_split("/[&=]/", $str); print_r($arr);
Output adalah seperti berikut:
Array ( [0] => name [1] => John [2] => age [3] => 30 [4] => gender [5] => male )
Dalam fungsi preg_split(), ungkapan biasa "/[&=]/" bermaksud membelah rentetan mengikut '&' atau '='.
Fungsi str_split() boleh memisahkan rentetan kepada rentetan panjang yang ditentukan dan menyimpannya dalam tatasusunan. Sebagai contoh, kita mempunyai rentetan dan kita boleh menggunakan fungsi str_split() untuk menyimpan setiap aksaranya ke dalam tatasusunan:
$str = "Hello World"; $arr = str_split($str); print_r($arr);
Output akan kelihatan seperti ini:
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => W [7] => o [8] => r [9] => l [10] => d )
Kecuali untuk setiap Aksara disimpan dalam tatasusunan, dan panjang setiap rentetan juga boleh ditentukan Contohnya, bahagikan rentetan kepada rentetan panjang 2:
$str = "Hello World"; $arr = str_split($str, 2); print_r($arr);
Hasil output adalah seperti berikut: <.>
Array ( [0] => He [1] => ll [2] => o [3] => Wo [4] => rl [5] => d )
{ "name": "John", "age": 30, "gender": "male" }Anda boleh menggunakan fungsi json_decode() untuk menukarnya menjadi tatasusunan:
$str = '{"name":"John","age":30,"gender":"male"}'; $arr = json_decode($str, true); print_r($arr);Output adalah seperti berikut:
Array ( [name] => John [age] => 30 [gender] => male )Perhatikan bahawa parameter kedua mesti ditetapkan kepada benar, yang bermaksud menukar JSON kepada tatasusunan bersekutu. Jika ditetapkan kepada palsu, ia akan ditukar kepada objek.
$str = "name=John&age=30&gender=male";Anda boleh menggunakan fungsi parse_str() untuk menukarnya kepada tatasusunan bersekutu:
parse_str($str, $arr); print_r($arr);Output ialah seperti berikut:
Array ( [name] => John [age] => 30 [gender] => male )Dalam fungsi parse_str(), parameter pertama ialah rentetan untuk dihuraikan dan parameter kedua ialah nama tatasusunan yang menyimpan hasil penghuraian. RingkasanArtikel ini memperkenalkan 5 cara untuk menukar rentetan kepada tatasusunan dalam PHP: menggunakan fungsi explode() , menggunakan fungsi preg_split() , menggunakan fungsi str_split() , menggunakan json_decode( ), gunakan fungsi parse_str(). Memilih kaedah yang berbeza mengikut situasi yang berbeza boleh mengendalikan rentetan dengan mudah.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan php kepada array. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!