Tukar Rentetan Dibatasi Koma kepada Tatasusunan Integer
Dalam senario pengekodan baru-baru ini, pembangun ditugaskan untuk menukar rentetan integer dipisahkan koma ke dalam tatasusunan integer. Kod yang disediakan:
<pre class="brush:php;toolbar:false">$string = "1,2,3" $ids = explode(',', $string); var_dump($ids);
menghasilkan tatasusunan rentetan, bukannya integer. Untuk menangani isu ini, pembangun mengemukakan soalan berikut:
Kebimbangan:
Saya memerlukan nilai untuk jenis int dan bukannya rentetan jenis. Adakah terdapat cara yang lebih baik untuk melakukan ini daripada menggelung melalui tatasusunan dengan foreach dan menukar setiap rentetan kepada int?
Penyelesaian:
Untuk mencapai penukaran yang diingini, pendekatan yang lebih cekap ialah untuk menggunakan fungsi array_map() bersama explode(). Kod yang diperbetulkan:
<pre class="brush:php;toolbar:false">$integerIDs = array_map('intval', explode(',', $string));
Kini, hasil var_dump($integerIDs) akan menghasilkan:
<pre class="brush:php;toolbar:false">array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
Penyelesaian ini menghapuskan keperluan untuk gelung manual dan menyediakan kaedah yang lebih ringkas untuk menukar rentetan dipisahkan koma kepada tatasusunan integer.
Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Rentetan Integer yang Dipisahkan Koma kepada Tatasusunan Integer dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!