首頁 > 後端開發 > PHP問題 > php怎麼將值強制轉為數值類型

php怎麼將值強制轉為數值類型

青灯夜游
發布: 2023-03-17 21:12:01
原創
3971 人瀏覽過

強制轉換方法:1、在資料之前加上用括號括起來的目標類型“(int)”或“(float)”,可以將值轉為整數型別或浮點型,例如“ (int)$str”、“(float)$str”;2、使用intval()函數,可以將值轉為整數類型,語法“intval(值)”;3、使用floatval()函數,可以將值轉為浮點型,語法「floatval(值)」;4、使用settype()函數。

php怎麼將值強制轉為數值類型

本教學操作環境: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 = &#39;123.456abc&#39;;
echo &#39;变量 $str 的类型为:&#39;.gettype($str).&#39;<br>&#39;;
$int1 = (int)$str;
echo &#39;变量 $int1 的类型为:&#39;.gettype($int1).&#39;<br>&#39;;
$int2 = (integer)$str;
echo &#39;变量 $int2 的类型为:&#39;.gettype($int2).&#39;<br>&#39;;
?>
登入後複製

php怎麼將值強制轉為數值類型

方法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); 
?>
登入後複製

php怎麼將值強制轉為數值類型

#方法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 &#39;原 $str:<br>&#39;;
var_dump($str); 

settype($str, &#39;integer&#39;);
echo &#39;<br>现 $str:<br>&#39;;
var_dump($str); 
?>
登入後複製

php怎麼將值強制轉為數值類型

#情況1:強制值轉換為浮點數型別( 3種方法)

類別第一種情況,將值強制轉為浮點數型別同樣有3種常用方法。

方法1:在資料之前加上用括號括起來的目標類型「(float)」、「(double)」或「(real)」

  • (float)、(double)、(real):轉換成浮點型別;

  • <?php
    header("Content-type:text/html;charset=utf-8"); 
    $str = &#39;123.456abc&#39;;
    var_dump($str);
    $float1 = (float)$str;
    var_dump($float1);
    $float2 = (double)$str;
    var_dump($float2);
    $float3 = (real)$str;
    var_dump($float3);
    ?>
    登入後複製

php怎麼將值強制轉為數值類型

方法2:使用floatval()函數

floatval()函數是專門將其他型別轉換為浮點型別的函數,它可以取得變數的浮點值。

註:floatval 不能用於陣列或物件。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$var = &#39;122.34343runoob&#39;;
echo "原数据类型:";
var_dump($var);
$float= floatval($var);
echo "修改后的类型:";
var_dump($float);
?>
登入後複製

php怎麼將值強制轉為數值類型

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$var = TRUE;
echo "原数据类型:";
var_dump($var);
$float= floatval($var);
echo "修改后的类型:";
var_dump($float);
?>
登入後複製

5-php怎麼將值強制轉為數值類型

#方法3:使用settype()函數

settype ()函數可以將值轉為指定資料型別(由第二個參數控制)。

只需要將函數的第二個參數設為「float」即可將資料轉為浮點數。

附註:函數會修改原變數;若設定成功時傳回 TRUE, 失敗時傳回 FALSE。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$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怎麼將值強制轉為數值類型#

推薦學習:《PHP影片教學

以上是php怎麼將值強制轉為數值類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板