PHP中的integer類型流量分析

來源:互聯網
上載者:User

integer 可以已10進位,8進位,16進位表示。
用八進位表示的時候,數字需要已0(零)開頭;
用十六進位表示的時候,數字需要已0x(零x)或者0X(零大寫X)開頭;

integer 溢出: integer溢出的時候,會自動的轉化為float類型。同樣的,如果integer類型的操作結果溢出了integer類型的邊界,也會自動轉化為float類型。
需要注意的一點就是,integer類型沒有"/" (除法)操作,如果需要獲得一個整型可以使用round等函數,或者直接使用(int)或(integer)進行強制類型轉化為integer也行.

轉換為integer:
boolean 轉化為integer:
1、true 總是轉換為 1;
2、false總是轉換為 0;
float轉化為integer:
1、如果float類型值沒有超過integer的邊界值,那麼轉換的時候會直接將小數部分直接截掉。
2、如果float類型值超過了integer的邊界值,那麼轉換的結果是沒定義的,但幾乎肯定不是預期的結果。
array類型轉換為integer:
1、空array總是轉化為0;
2、非空array總是轉化為1;
object轉換為integer:
1、把object類型的值轉換為integer 會產生類似 Object of class stdClass could not be converted to int 的Notice 資訊。轉換的結果為1;
string轉化為integer:
1、如果string以數字開頭並且,其中不包含字元‘.','e','E',並且數位值在integer範圍之內,string將轉化為integer。 複製代碼 代碼如下:$resource = fopen('d:/tmp/test.txt', 'rb');
var_dump($resource, (int)$resource);

2、如果string為空白字串,或者沒有已數字開頭,string可以轉化為integer 0;
3、其他情況下 string將會轉化為float類型;
resources轉換為integer:
1、將resources類型的值轉換為integer,會將resource對應的id
例如:

的結果 複製代碼 代碼如下:resource(3) of type (stream) int(3)

null轉換為integer:
1、null轉換為integer總是0
未定義的變數轉化為integer:
1、未定義的變數轉換為integer會產生一個notice資訊,並轉換為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.