Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar nilai dalam tatasusunan kepada nombor dalam php
Dalam pembangunan PHP, kita biasanya perlu melakukan penukaran berangka pada nilai dalam tatasusunan. Terutama semasa pemprosesan data dan operasi aritmetik, kita perlu memastikan bahawa nilai dalam tatasusunan adalah semua jenis angka. Artikel ini akan memperkenalkan beberapa cara untuk menukar nilai dalam tatasusunan PHP kepada jenis angka.
1. Gunakan (int) untuk menghantar
Dalam PHP, anda boleh menggunakan (int) untuk menghantar pembolehubah kepada jenis integer. Begitu juga, kita juga boleh menggunakannya untuk memaksa nilai dalam tatasusunan untuk ditukar kepada jenis angka. Berikut ialah kod sampel:
$array = array('1', '2', '3'); foreach ($array as $key => $value) { $array[$key] = (int) $value; } var_dump($array);
Outputnya ialah:
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
Kod di atas akan merentasi tatasusunan$array
dan menggunakan cast untuk menukar setiap elemen tatasusunan kepada integer taip .
Perlu diambil perhatian bahawa pelakon hanya boleh menukar rentetan kepada jenis angka. Jika elemen dalam tatasusunan ialah jenis data lain (seperti Boolean, titik terapung, dll.), pelakon akan gagal.
2. Gunakan fungsi intval() untuk menukar
PHP menyediakan fungsi intval()
untuk menukar pembolehubah kepada jenis integer. Berbeza daripada penukaran jenis paksa, intval()
boleh menukar pembolehubah pelbagai jenis seperti rentetan, nombor titik terapung, nilai Boolean, dll. kepada jenis integer. Berikut ialah contoh kod:
$array = array('1', '2.5', true, false, '5'); foreach ($array as $key => $value) { $array[$key] = intval($value); } var_dump($array);
Hasil output ialah:
array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(1) [3]=> int(0) [4]=> int(5) }
Dalam kod di atas, fungsi intval()
digunakan untuk menukar setiap elemen dalam tatasusunan kepada jenis integer. Memandangkan peraturan untuk menukar nilai Boolean kepada integer ialah true
ditukar kepada 1
dan false
ditukar kepada 0
, jadi dalam hasil output, elemen ketiga ditukar kepada 1
, dan elemen keempat ditukar kepada 0
.
Perlu diambil perhatian bahawa apabila menggunakan fungsi intval()
, jika parameter kosong atau tidak boleh ditukar kepada jenis integer, 0 akan dikembalikan.
3 Gunakan fungsi array_map() untuk menukar
Selain gelung for dan foreach, anda juga boleh menggunakan fungsi array_map()
untuk menukar elemen dalam tatasusunan kepada a jenis angka. array_map()
Fungsi boleh memproses setiap elemen dalam tatasusunan masuk melalui fungsi panggil balik dan mengembalikan tatasusunan baharu yang diproses. Berikut ialah contoh kod:
$array = array('1', '2', '3'); $array = array_map('intval', $array); var_dump($array);
Outputnya ialah:
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
Kod di atas menghantar fungsi intval()
sebagai fungsi panggil balik ke fungsi array_map()
. array_map()
akan berulang melalui setiap elemen dan memanggil fungsi panggil balik padanya, dan akhirnya mengembalikan tatasusunan baru yang diproses. Dalam kes ini, array_map()
akan mengembalikan tatasusunan dengan setiap elemen rentetan ditukar kepada jenis integer.
Perlu diambil perhatian bahawa fungsi array_map()
tidak mengubah tatasusunan asal, tetapi mengembalikan tatasusunan baharu. Jika anda ingin menukar tatasusunan asal, anda perlu menetapkan tatasusunan baharu kembali kepada tatasusunan asal.
Ringkasan
Artikel ini memperkenalkan tiga kaedah untuk menukar nilai dalam tatasusunan PHP kepada jenis angka. Anda boleh menukar elemen dalam tatasusunan kepada jenis angka dengan mudah, sama ada menggunakan hantaran, fungsi intval()
atau fungsi array_map()
. Semasa proses pembangunan, pilih sahaja kaedah yang sesuai mengikut keperluan sebenar.
Atas ialah kandungan terperinci Bagaimana untuk menukar nilai dalam tatasusunan kepada nombor dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!