php下intval()和(int)轉換使用與區別

來源:互聯網
上載者:User

複製代碼 代碼如下:<?php
echo "<br/>數值強制轉換:";
$string="2a";
$string1=intval($string);
echo '$string1的值:'.$string1.'$string2的值:';//單引號不會輸出變數,將原樣輸出
$string2=(int)($string);
echo $string2
?>

手冊上查不到。
這也是手冊上說的:引用:
int intval ( mixed $var [, int $base ] )
通過使用特定的進位轉換(預設是十進位),返回變數 var 的 integer 數值。 如果只有這點區別的話,那麼我喜歡用(int)處理10進位的情況是不錯的選擇吧?
沒啥區別,一般用(int),另外還有 float, string, array 等

intval()而言,如果參數是字串,則返回字串中第一個不是數位字元之前的數字串所代表的整數值。如果字串第一個是‘-',則從第二個開始算起。

如果參數是符點數,則返回他取整之後的值。

當然intval()返回的值在一個4位元組所能表示的範圍之內(-2147483648~2147483647),對於超過這個範圍的值將用邊界值代替。

例:intval("A")=0; intval(12.3223)=12; intval("1123Asdfka3243")=1123;
int();
例:
$a=0.13;
$b=(int)$a; //$b=0;

$a=0.99;
$b=(int)$a; //$b=0;

$a=1.01;
$b=(int)$a; //$b=1;

$a=1.99;
$b=(int)$a; //$b=1;

PHP字串轉換為int

有時,重要的是有一個int格式的變數的值。 eaxmple,如果你的訪問者填寫表單,隨著年齡的領域,這應該是一個int。然而,在$ _POST數組,你把它作為一個字串。
轉換為int的PHP字串是很容易的。我們需要使用之前,你的變數類型casting.So你需要使用(INT)。下面是一個例子,如何做到這一點: 複製代碼 代碼如下:<?php
$str = "10";
$num = (int)$str;?>

如果要檢查的代碼REALY工程,我們可以使用===運算子。這個操作符檢查不僅值,但類型以及。這樣的代碼看起來應該是這樣的: 複製代碼 代碼如下:<?php
$str = "10";
$num = (int)$str;
if ($str === 10) echo "String";
if ($num === 10) echo "Integer";
?>

還有一個問題是開放的。如果我們的字串是不是一個單純的數位字串,會發生什麼。我的意思是有其他字串中的字元。在這種情況下,轉換操作嘗試最好的和可以轉換的字串,如果只有空間是有,如果沒有有效字元後的數字值。它的工作原理如下:

“10” - > 10
“10.5” - > 10
“10,5” - > 10
“10” - > 10
“10” - > 10
“10test” - > 10
“test10” - > 0

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.