首頁 >後端開發 >PHP問題 >php轉換數字類型有哪些?

php轉換數字類型有哪些?

coldplay.xixi
coldplay.xixi原創
2020-07-10 10:00:253345瀏覽

php轉換數字類型有:1、自動型別轉換,字串轉換為數字,整數轉換為浮點數,浮點數轉換為整數捨去小數點,null值轉換為字串;2、強型別轉換,【intval()】轉換為整數,【floatval()】轉換為浮點數。

php轉換數字類型有哪些?

php轉換數字型有:

PHP屬於弱型別語言,不像java,C 等語言是強型別語言,差別在於,弱型別的語言是自動轉換數
據型,強型別語言必須手動宣告型別。

1)自動型別轉換,五種資料型,標量中的四個型別和null都可以透過運算自動轉換型別。
布林值參與運算

true ---> 1 false ---> 0
  • #字串和數字運算,字串先轉換為數字在運算。

  • 字串轉換為數字,從前開始到第一個不是數字的字元結束(不符合的內容清空)。

  • 整數型轉換為浮點數 ,精確度不會改變。

  • 浮點數轉換為整數型捨去小數點,保留整數部分。

  • 如果浮點數超出整數範圍,答案不確定。

  • null 值轉換為字串,是空字串。

//bool to int
var_dump(true + 1);//2 true->1
var_dump(false + 1);//1 false->0
var_dump(null + 1);// 1 null-> 0
echo &#39;<hr/>&#39;;
// bool to float
var_dump(true + 1.0);// float 2
var_dump(false + 1.0);// float 1 var_dump(null + 1.0);// float 1
echo &#39;<hr/>&#39;;
//string to int
var_dump(&#39;123&#39; + 1);//124 &#39;123&#39;->123
var_dump(&#39;abc123&#39; + 1);//1 &#39;abc123&#39;->0
var_dump(&#39;123abcdefggggggggggg;8000&#39; + 1);//124
var_dump(&#39;a123&#39; + 1);//1
var_dump(&#39;1a123&#39; + 1);//2
//php7.0版本所有进制都不转
var_dump(&#39;077abc&#39;+1);// 78 077->77 八进制不转换
var_dump(&#39;0b11abc&#39;+1);//1 //0b 不转换
var_dump(&#39;0xffhsahahhahah&#39;+1);//1 0x不转换
//php 5.6以下都会转换为 0xff->255
echo &#39;<hr/>&#39;;
//string to float
var_dump(&#39;1.234abcdef&#39;+ 1.0);//2.234
var_dump(&#39;1.234E3&#39;+1.0);//1235
var_dump(&#39;1e5&#39;+1.0);//2 100001
var_dump(&#39;1E-5&#39;+1.0);//1.00001

2)強型別轉換

#使用括號加目標型別轉換

(int)(integer)
 (bool)(boolean)
 (float)(real)
  (string)
  (array)
  (object)

使用型別轉換函數

settype() 永久轉換類型的函數(重點)

第一個參數你要改變類型的變數
第二個參數你要改變的型別名
intval() 轉換成整數
floatval() 轉換為浮點數
strval() 轉換為字串

<?php
  $a = 1;
  var_dump($a);
  var_dump((int)$a);
  var_dump((integer)$a);
  var_dump((bool)$a);
  var_dump((float)$a);
  var_dump((real)$a);
  var_dump((string)$a);
 var_dump((array)$a);
 var_dump((object)$a);
 var_dump($a);
 var_dump($a);
 var_dump($a);
 var_dump($a);
 var_dump($a);
 echo &#39;<hr/>&#39;;
 $b = 100;
 var_dump($b);
 //下面函数是永久有效的类型转换
 settype($b,&#39;string&#39;);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 echo &#39;<hr/>&#39;;
//下⾯的函数也是当次有效 和最开始的强制类型转换一样 只不过语法不同而已
 $m = 200;
 var_dump(intval($m));
 var_dump(floatval($m));
var_dump(strval($m));
 var_dump($m);
 var_dump($m);
 var_dump($m);

相關學習推薦:PHP程式設計從入門到精通

#

以上是php轉換數字類型有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多