強制轉換方法:1、在資料之前加上用括號括起來的目標型別「(int)」或「(float)」,可以將值轉為整數型別或浮點型,例如「(int)$str」、「(float)$str」;2、使用intval()函數,可以將值轉為整數型別,語法「intval(值)」;3、3、使用floatval()函數,可以將值轉為浮點型,語法「floatval(值)」;4、使用settype()函數。
本教學操作環境:windows7系統、PHP8版、DELL G3電腦
php提供了兩種數值型別:
integer (整型)
float (浮點型, 也稱作 double)
討論將值強制轉為數值型別,就是討論將值轉為整型或浮點型。下面聊聊轉換方法。
情況1:將值強制轉為整數型別(3種方法)
方法1:在資料之前加上用括號括起來的目標型別「(int)」或「(integer)」
(int)、(integer):轉換成整型;
<?php
header("Content-type:text/html;charset=utf-8");
$str = '123.456abc';
echo '變數 $str 的型別為:'.gettype($str).'<br>';
$int1 = (int)$str;
echo '變數 $int1 的型別為:'.gettype($int1).'<br>';
$int2 = (integer)$str;
echo '變數 $int2 的型別為:'.gettype($int2).'<br>';
?>
登入後複製
方法2:使用intval()函數
intval() 函數用於獲取變數的整數值。
intval() 函數通過使用指定的進位制 base 轉換(預設是十進位制),返回變數 var 的 integer 數值。 intval() 不能用於 object,否則會產生 E_NOTICE 錯誤並返回 1。
語法:
int intval ( mixed $var [, int $base = 10 ] )
登入後複製
引數說明:
$var:要轉換成 integer 的數量值。
$base:轉化所使用的進位制。
如果 base 是 0,通過檢測 var 的格式來決定使用的進位制:
如果字串包括了 "0x" (或 "0X") 的字首,使用 16 進位制 (hex);否則,
如果字串以 "0" 開始,使用 8 進位制(octal);否則,
將使用 10 進位制 (decimal)。
返回值:成功時返回 var 的 integer 值,失敗時返回 0。 空的 array 返回 0,非空的 array 返回 1。
範例:將值轉為int型
<?php
header("Content-type:text/html;charset=utf-8");
$str1="123d";
$str2=intval($str1);
echo "字串型轉為int型:";
var_dump($str1);
var_dump($str2);
?>
登入後複製
方法3:使用settype()函數
settype()函數:用於設定變數的型別。
其可以設定的型別為:
"boolean" (或為"bool",從 PHP 4.2.0 起)
"integer" (或為"int",從 PHP 4.2.0 起)
"float" (只在 PHP 4.2.0 之後可以使用,對於舊版本中使用的"double"現已停用)
"string"
"array"
"object"
"null" (從 PHP 4.2.0 起)
注:settype() 函數會改變變數本身的型別。
範例:將浮點型轉為int型
<?php
header("Content-type:text/html;charset=utf-8");
$str="52.36";
echo '原 $str:<br>';
var_dump($str);
settype($str, 'integer');
echo '<br>現 $str:<br>';
var_dump($str);
?>
登入後複製
情況1:將值強制轉為浮點數型別(3種方法)
類別第一種情況,將值強制轉為浮點數型別同樣有3種常用方法。
方法1:在資料之前加上用括號括起來的目標型別「(float)」、「(double)」或「(real)」
(float)、(double)、(real):轉換成浮點型別;
<?php
header("Content-type:text/html;charset=utf-8");
$str = '123.456abc';
var_dump($str);
$float1 = (float)$str;
var_dump($float1);
$float2 = (double)$str;
var_dump($float2);
$float3 = (real)$str;
var_dump($float3);
?>
登入後複製
方法2:使用floatval()函數
floatval()函數是專門將將其他型別轉換為浮點型別的函數,它可以獲取變數的浮點值。
注:floatval 不能用於陣列或物件。
<?php
header('content-type:text/html;charset=utf-8');
$var = '122.34343runoob';
echo "原資料型別:";
var_dump($var);
$float= floatval($var);
echo "修改後的型別:";
var_dump($float);
?>
登入後複製
<?php
header('content-type:text/html;charset=utf-8');
$var = TRUE;
echo "原資料型別:";
var_dump($var);
$float= floatval($var);
echo "修改後的型別:";
var_dump($float);
?>
登入後複製
方法3:使用settype()函數
settype()函數可以將值轉為指定資料型別(由第二個引數控制)。
只需要將該函數的第二個引數設定為「float」即可將資料轉為浮點數。
注:該函數會修改原變數;如果設定成功時返回 TRUE, 失敗時返回 FALSE。
<?php
header('content-type:text/html;charset=utf-8');
$foo = "5bar"; // string
$bar = true; // boolean
echo "原資料型別:";
var_dump($foo);
var_dump($bar);
settype($foo, "float");
settype($bar, "float");
echo "修改後的型別:";
var_dump($foo);
var_dump($bar);
?>
登入後複製
推薦學習:《》
以上就是php怎麼將值強制轉為數值型別的詳細內容,更多請關注TW511.COM其它相關文章!