程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中數據類型強制轉換

php中數據類型強制轉換

編輯:關於PHP編程

PHP是一門松散類型的語言,不必對使用的變量做專門的定義,這給程序的編寫帶來很大的靈活與方便。但我們在程序編寫過程中,需要知道自己使用的變量是哪種類型的,因為變量始終有一種類型與之對應。盡管各類型之間幾乎可以做自由的轉換,如果隨意使用或者轉化變量類型,可能導致一些潛在的錯誤

PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變量之前加上用括號括起來的目標類型:

 代碼如下 復制代碼

<?php
$foo = 10;  // $foo 為整型
$bar = (boolean) $foo; // $bar 為布爾型
?>


類型轉換
PHP 在變量定義中不需要(或不支持)明確的類型定義;變量類型是根據使用該變量的上下文所決定的。也就是說,如果把一個字符串值賦給變量 var,var 就成了一個字符串。如果又把一個整型值賦給 var,那它就成了一個整數。

PHP 的自動類型轉換的一個例子是加號“+”。如果任何一個操作數是浮點數,則所有的操作數都被當成浮點數,結果也是浮點數。否則操作數會被解釋為整數,結果也是整數。注意這並沒有改變這些操作數本身的類型;改變的僅是這些操作數如何被求值以及表達式本身的類型。

類型強制轉換
PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變量之前加上用括號括起來的目標類型:

 代碼如下 復制代碼 <?php
$foo = 10;  // $foo 為整型
$bar = (boolean) $foo; // $bar 為布爾型
?>

允許的強制轉換有:

(int)或(integer) - 轉換成整型
(bool)或(boolean) - 轉換成布爾型
(float)或(double)或(real) - 轉換成浮點型
(string) - 轉換成字符串
(array) - 轉換成數組
(object) - 轉換成對象
另外,將一個變量還原為字符串,還可以將變量放置在雙引號中:

數字換成字符轉

 代碼如下 復制代碼

<?php
$foo = 10; // $foo 為整型
$str = "$foo"; // $str 為字符串
?>


在我們常用的字符串轉換成整型有個超簡單的方法

 代碼如下 復制代碼

$str=www.bKjia.c0m;
$int = intval($str);
這樣$int=0;了哦。

當一個字符串被當作數字來求值時,根據以下規則來決定結果的類型和值:

如果包括“.”,“e”或“E”其中任何一個字符的話,字符串被當作 float 來求值,否則就被當作整數
該值由字符串最前面的部分決定。如果字符串以合法的數字數據開始,就用該數字作為其值,否則其值為 0(零)。合法數字數據由可選的正負號開始,後面跟著一個或多個數字(可選地包括十進制分數),後面跟著可選的指數。指數是一個“e”或者“E”後面跟著一個或多個數字
例子:

 代碼如下 復制代碼

<?php
$foo = 1 + "10.5";  // $foo為浮點型:11.5
$foo = 1 + "-1.3e3";  // $foo 為浮點型:-1299
$foo = 1 + "bob-1.3e3";  // $foo 為整型:1
$foo = 1 + "bob3";  // $foo為整型:1
$foo = 1 + "10 Small Pigs"; // $foo為整型:11
$foo = "10.0 pigs " + 1; // $foo 為浮點型:11

?>

由於php無需在數據使用時定義變量所以我們可以靈活的定義變量,同時也可以靈活的轉換數據類型。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved