Dalam pengaturcaraan PHP, kadangkala kita perlu menukar rentetan kepada nombor. Situasi biasa termasuk:
1 Menukar input rentetan angka oleh pengguna kepada nombor untuk pengiraan, perbandingan dan operasi lain.
2. Tukar semua elemen rentetan dalam tatasusunan kepada nombor.
3. Lakukan operasi berangka, pemformatan, dsb. pada rentetan.
Artikel ini akan memperkenalkan kaedah penukaran bersama antara rentetan dan nombor dalam PHP, membantu pembaca lebih memahami dan menangani isu penukaran rentetan dan nombor.
1. Menukar rentetan kepada nombor
Dalam PHP, terdapat banyak cara untuk menukar rentetan kepada nombor, termasuk penukaran jenis, penukaran fungsi, penukaran operator, dsb.
1. Penukaran jenis
Cara paling asas untuk menukar rentetan kepada nombor ialah menggunakan operator penukaran jenis. Terdapat tiga jenis pengendali penukaran dalam PHP, iaitu (int), (float), dan (rentetan), yang masing-masing menukar pembolehubah kepada integer, floating-point dan jenis rentetan.
Sintaks adalah seperti berikut:
(int)$variable
(float)$variable
(string)$variable
Kod sampel adalah seperti berikut:
$string_num = "123";
$int_num = (int) $string_num;
$float_num = (float) $string_num;
echo gettype($string_num ); // Output string
echo gettype($int_num); // Output integer
echo gettype($float_num); // Output double
hasil operasi:
string
integer
double
Operator penukaran jenis boleh menukar rentetan kepada nombor, tetapi anda perlu memberi perhatian kepada perkara berikut:
① Jika rentetan itu terapung nombor titik, menggunakan operator (int) untuk menukar akan Menukarkannya kepada bahagian integer, manakala penukaran operator (terapung) mengekalkan bentuk titik terapung.
② Jika rentetan mengandungi aksara bukan angka, penukaran menggunakan operator (int) dan (float) akan mengalih keluar aksara bukan angka dan mengembalikan nombor yang sah.
③ Jika rentetan itu ialah rentetan kosong atau rentetan angka haram, 0 akan dikembalikan.
2. Penukaran fungsi
PHP menyediakan berbilang fungsi untuk menukar rentetan kepada nombor, seperti intval(), floatval(), number_format(), dsb.
① intval(rentetan $var [, int $base = 10]): Tukar rentetan kepada integer.
syntx: intval(rentetan $var [, int $base = 10]).
Kod sampel adalah seperti berikut:
$number = "123";
$integer = intval($number);
echo gettype($integer) ; // Integer keluaran
hasil operasi:
integer
② floatval(rentetan $var): Tukar rentetan kepada nombor titik terapung.
sintaks: floatval(rentetan $var).
Kod sampel adalah seperti berikut:
$number = "123.45";
$float = floatval($number);
echo gettype($float) ; // Output dua kali
hasil operasi:
ganda
③ nombor_format(float $num [, int $decimals = 0 [, rentetan $dec_point = "." [ , rentetan $ thousands_sep = ","]]]): Format nombor.
sintaks: number_format(float $num [, int $decimals = 0 [, string $dec_point = "." [, string $thousands_sep = ","]]]).
Kod sampel adalah seperti berikut:
$number = "123456789.0123456";
$formatted_num = number_format($number, 2, ".", ",");
echo $formatted_num; // Output 123,456,789.01
Hasil jalankan:
123,456,789.01
3, PHP akan menukar operasi
>Kod sampel adalah seperti berikut:$x = "3";$y = "6";
$sum = $x + $y;
$tolak = $x - $y;
$produk = $x * $y;
$bahagi = $x / $y;
var_dump($minus); // Output int(-3)
var_dump($product); // Output int(18)
var_dump($divide); 0.5)
int(-3)
int(18)
float(0.5)
$string = "Nombornya ialah " $number;
$string = strval($number);
$number2 = 456;
$string = sprintf("Nombornya ialah %d dan %d" , $number1 , $number2);
Artikel ini memperkenalkan kaedah penukaran bersama antara rentetan dan nombor dalam PHP, termasuk penukaran jenis, penukaran fungsi, penukaran operator, dsb. Perlu diingat bahawa semasa proses penukaran, kesahihan dan kesahihan jenis data perlu diberi perhatian untuk mengelakkan ralat penukaran dan ralat pengiraan. Dalam pembangunan sebenar, kaedah penukaran yang paling sesuai perlu dipilih berdasarkan keperluan perniagaan tertentu.
Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan kepada nombor dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!