Kaedah penukaran paksa: 1. Tambahkan jenis sasaran yang disertakan dalam kurungan ("(int)", "(bool)", "(float)", dsb.) sebelum pembolehubah yang hendak ditukar; Gunakan fungsi penukaran jenis intval(), floatval(), boolval(), strval(), settype().
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
PHP dipaksa penukaran jenis
Penukaran jenis paksa dalam PHP sangat serupa dengan bahasa lain Anda boleh menambah jenis sasaran yang disertakan dalam kurungan (seperti $var = (int)3.1415;
) sebelum pembolehubah yang hendak ditukar, atau. anda boleh menggunakan fungsi penukaran jenis khusus (seperti intval()
, floatval()
, strval()
, dsb.) atau settype()
untuk menukar jenis.
Apabila menghantar jenis pembolehubah dengan mendahului pembolehubah dengan jenis sasaran yang disertakan dalam kurungan, jenis pembolehubah yang dibenarkan dalam kurungan adalah seperti berikut:
(int)
, (integer)
: ditukar kepada jenis integer;
(bool)
, (boolean)
: ditukar kepada jenis Boolean;
(float)
(double)
(real)
: ditukar kepada jenis rentetan; : ditukar kepada jenis tatasusunan;
(string)
: ditukar kepada jenis objek.
Apabila menggunakan fungsi penukaran tertentu (array)
,
(object)
intval()
floatval()
boolval(): digunakan untuk mendapatkan nilai Boolean bagi pembolehubah; nilai rentetan pembolehubah. boolval()
strval()
Dua kaedah penukaran jenis paksa yang diperkenalkan di atas tidak akan mengubah jenis pembolehubah ditukar itu sendiri, tetapi akan diperolehi oleh menukar Jenis data baharu diberikan kepada pembolehubah baharu, dan jenis serta nilai pembolehubah asal kekal tidak berubah.
,
,,
.<?php $str = '123.456abc'; $int = intval($str); echo '变量 $int 的类型为:'.gettype($int).'<br>'; $float = floatval($str); echo '变量 $float 的类型为:'.gettype($float).'<br>'; $string = strval($str); echo '变量 $string 的类型为:'.gettype($string); ?>
【Contoh】Gunakan fungsi settype() untuk memaksa jenis pembolehubah.
变量 $int 的类型为:integer 变量 $float 的类型为:double 变量 $string 的类型为:string
Keputusan berjalan adalah seperti berikut:
settype()
Terdapat beberapa perkara yang perlu diperhatikan apabila menggunakan penukaran jenis paksa:
settype(mixed &$var, string $type)
boolean(bool)
Tukar integer kepada jenis Titik terapung, memandangkan julat ketepatan jenis titik terapung jauh lebih besar daripada jenis integer, ketepatan selepas penukaran tidak akan berubah integer(int)
float(double)
string
array
Apabila jenis titik terapung ditukar kepada; jenis integer, bahagian perpuluhan akan dibuang secara automatik, hanya bahagian integer dikekalkan. Jika nombor titik terapung melebihi julat nombor integer yang sah, hasilnya akan menjadi tidak pasti; pertama yang bukan aksara nombor berakhir (kandungan tidak sepadan dikosongkan), iaitu, jika aksara pertama rentetan bukan nombor, hasil yang ditukar ialah 0; >object
Nilai NULL ditukar kepada rentetan , hasilnya ialah aksara nol. null
<?php $str = (string)'123abc'; $bool = (bool)true; settype($str, 'integer'); settype($bool, 'string'); echo '$str 的类型为:'.gettype($str).'<br> $bool 的类型为:'.gettype($bool); ?>
"
Atas ialah kandungan terperinci Bagaimana untuk memaksa penukaran jenis data dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!