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

Bagaimana untuk menukar rentetan php kepada array

PHPz
PHPzasal
2023-04-19 11:38:02495semak imbas

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 ]);

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";

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

$arr = explode(",", $str);
print_r($arr);

Hasil output adalah seperti berikut:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
  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 ]]);

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";

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

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

Hasil output adalah seperti berikut:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
    [4] => melon
)
  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 ]);

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";

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

$arr = str_split($str, 2);
print_r($arr);

Hasil output adalah seperti berikut:

Array
(
    [0] => ab
    [1] => cd
    [2] => ef
    [3] => gh
    [4] => ij
    [5] => kl
    [6] => mn
)
  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);

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);

Hasil output adalah seperti berikut:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

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!

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