Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar rentetan php kepada array

Bagaimana untuk menukar rentetan php kepada array

PHPz
Lepaskan: 2023-04-19 14:05:29
asal
554 orang telah melayarinya

Dalam PHP, rentetan dan tatasusunan ialah dua konsep yang sangat penting Semasa proses pembangunan, kita selalunya perlu menukar rentetan kepada tatasusunan untuk memudahkan beberapa operasi. PHP menyediakan beberapa fungsi terbina dalam untuk mencapai penukaran tersebut. Artikel ini akan memperkenalkan anda kepada beberapa kaedah biasa untuk menukar rentetan kepada tatasusunan.

  1. Gunakan fungsi explode()

Fungsi explode() ialah salah satu fungsi terbina dalam PHP Ia boleh memisahkan rentetan kepada tatasusunan mengikut yang ditentukan pembatas. Sintaksnya adalah seperti berikut:

array explode(string $delimiter, string $string [, int $limit = PHP_INT_MAX ]);
Salin selepas log masuk

Antaranya, parameter $delimiter mewakili pembatas, $string mewakili rentetan yang akan dipisahkan dan $limit mewakili mengehadkan bilangan tatasusunan yang dikembalikan.

Sebagai contoh, kita mempunyai rentetan $str, yang mengandungi berbilang elemen, setiap satu dipisahkan dengan koma:

$str = "apple,banana,orange";
Salin selepas log masuk

Kita boleh menggunakan fungsi explode() untuk Tukar kepada tatasusunan, kod adalah seperti berikut:

$arr = explode(",", $str);
print_r($arr);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Salin selepas log masuk
Salin selepas log masuk
  1. Gunakan fungsi preg_split()

Jika kita perlu ikut Untuk memisahkan rentetan dengan berbilang pembatas, anda boleh menggunakan fungsi preg_split(). Fungsi ini berbeza daripada fungsi explode() kerana ia menggunakan ungkapan biasa sebagai pembatas. Sintaksnya adalah seperti berikut:

array preg_split(string $pattern, string $subject [, int $limit = -1 [, int $flags = 0 ]]);
Salin selepas log masuk

Antaranya, parameter $pattern mewakili ungkapan biasa, $subject mewakili rentetan yang akan dipecah, $limit mewakili mengehadkan bilangan tatasusunan yang dikembalikan dan $flags mewakili pilihan.

Sebagai contoh, kami mempunyai rentetan $str, yang mengandungi berbilang elemen, setiap satu dipisahkan dengan koma, ruang atau bar menegak:

$str = "apple,banana|orange banana pear,melon";
Salin selepas log masuk

Kita boleh menggunakan fungsi preg_split () untuk tukarkannya kepada tatasusunan, kodnya adalah seperti berikut:

$arr = preg_split("/[,\s|]+/", $str);
print_r($arr);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
    [4] => melon
)
Salin selepas log masuk
  1. Gunakan fungsi str_split()

Jika kita ingin membahagikan rentetan kepada tatasusunan aksara tunggal, kita boleh menggunakan fungsi str_split(). Sintaksnya adalah seperti berikut:

array str_split(string $string [, int $split_length = 1 ]);
Salin selepas log masuk

Antaranya, parameter $string mewakili rentetan yang akan dipisahkan dan $split_length mewakili panjang yang ditentukan bagi setiap elemen Jika nilainya ialah 1, rentetan itu akan menjadi pecahkan kepada aksara individu, sebaliknya belah rentetan mengikut panjang yang ditentukan.

Sebagai contoh, kita mempunyai rentetan $str, yang mengandungi berbilang aksara:

$str = "abcdefghijklmn";
Salin selepas log masuk

Kita boleh menggunakan fungsi str_split() untuk menukarnya kepada tatasusunan, kodnya adalah seperti berikut :

$arr = str_split($str, 2);
print_r($arr);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [0] => ab
    [1] => cd
    [2] => ef
    [3] => gh
    [4] => ij
    [5] => kl
    [6] => mn
)
Salin selepas log masuk
  1. Gunakan fungsi unserialize()

Jika rentetan kami adalah bersiri tatasusunan, anda boleh menggunakan fungsi unserialize () untuk memulihkannya kepada tatasusunan. Sintaksnya adalah seperti berikut:

mixed unserialize(string $str);
Salin selepas log masuk

Antaranya, parameter $str mewakili rentetan yang hendak dinyahkod, dan nilai pulangan ialah data yang dinyahkod. Ambil perhatian bahawa parameter fungsi ini mestilah rentetan bersiri, jika tidak ralat akan berlaku.

Sebagai contoh, kita mempunyai tatasusunan bersiri $str, kita boleh menggunakan fungsi unserialize() untuk menukarnya kepada tatasusunan, kodnya adalah seperti berikut:

$str = 'a:3:{i:0;s:5:"apple";i:1;s:6:"banana";i:2;s:6:"orange";}';

$arr = unserialize($str);
print_r($arr);
Salin selepas log masuk

Hasil output adalah seperti berikut:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Salin selepas log masuk
Salin selepas log masuk

Ringkasan

Artikel ini memperkenalkan kaedah biasa untuk menukar rentetan kepada tatasusunan, termasuk menggunakan fungsi explode() , fungsi preg_split() , fungsi str_split() dan unserialize () fungsi. Kita boleh memilih kaedah yang sesuai untuk mencapai penukaran mengikut keperluan sebenar. Dalam proses pembangunan sebenar, kami juga boleh menggunakan ungkapan biasa untuk melaksanakan operasi pemisahan rentetan yang lebih kompleks berdasarkan senario tertentu.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan php kepada array. 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