Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar rentetan kepada tatasusunan integer dalam php
Dalam PHP, kita selalunya perlu menukar rentetan kepada tatasusunan integer untuk pemprosesan data selanjutnya. Di bawah ini kami akan memperkenalkan beberapa kaedah untuk menukar rentetan kepada tatasusunan integer.
Kaedah 1: Gunakan fungsi explode()
Fungsi explode() boleh memisahkan rentetan kepada tatasusunan mengikut pembatas yang ditentukan. Dengan menggunakan penukaran fungsi dan jenis ini, kita boleh menukar rentetan yang dipisahkan koma kepada tatasusunan integer.
Sebagai contoh, kami mempunyai rentetan berikut:
$str = "1,2,3,4,5";
Kemudian anda boleh menggunakan kod berikut untuk menukarnya kepada tatasusunan integer:
$arr = explode(",", $str); for ($i = 0; $i < count($arr); $i++) { $arr[$i] = (int)$arr[$i]; //转换成整型后存入数组 }
Kaedah 2 : Gunakan Fungsi preg_split ()
Serupa dengan fungsi explode(), fungsi preg_split() juga boleh memisahkan rentetan kepada tatasusunan mengikut corak yang ditentukan. Kaedah ini sedikit lebih rumit daripada fungsi explode(), tetapi boleh mengendalikan rentetan yang lebih kompleks.
Sebagai contoh, kami mempunyai rentetan berikut:
$str = "1 | 2 | 3 | 4 | 5";
Kemudian anda boleh menggunakan kod berikut untuk menukarnya kepada tatasusunan integer:
$arr = preg_split("/[|]+/", $str); for ($i = 0; $i < count($arr); $i++) { $arr[$i] = (int)$arr[$i]; //转换成整型后存入数组 }
Kaedah 3 : Gunakan fungsi array_map ()
array_map() fungsi ialah fungsi yang sangat berguna yang boleh melakukan pemprosesan tertentu pada setiap elemen dalam tatasusunan. Kita boleh menghantar fungsi intval() sebagai parameter kepada fungsi array_map(), yang menukar rentetan kepada integer.
Sebagai contoh, kami mempunyai rentetan berikut:
$str = "1,2,3,4,5";
Kemudian anda boleh menggunakan kod berikut untuk menukarnya kepada tatasusunan integer:
$arr = array_map('intval', explode(',', $str));
Kaedah 4 : Gunakan fungsi array_walk ()
adalah serupa dengan fungsi array_map() Fungsi array_walk() juga melakukan pemprosesan tertentu pada setiap elemen dalam tatasusunan. Kita boleh mengubah setiap elemen menggunakan fungsi array_walk(). Tetapi dalam kes ini, kita perlu mentakrifkan fungsi panggil balik untuk melaksanakan penukaran, dan kemudian gunakan fungsi array_walk() untuk memanggil fungsi panggil balik.
Sebagai contoh, kami mempunyai rentetan berikut:
$str = "1,2,3,4,5";
Kemudian anda boleh menggunakan kod berikut untuk menukarnya kepada tatasusunan integer:
function convertToInt(&$value) { $value = (int)$value; } $arr = explode(',', $str); array_walk($arr, 'convertToInt');
Kesimpulan
Empat kaedah di atas boleh menukar rentetan kepada tatasusunan integer. Antaranya, kaedah menggunakan fungsi array_map() adalah agak mudah, dan kaedah menggunakan fungsi preg_split() secara relatifnya adalah yang paling fleksibel. Kaedah mana yang hendak digunakan bergantung pada situasi khusus yang sedang ditangani.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan kepada tatasusunan integer dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!