首頁 >後端開發 >php教程 >PHP基礎教學二之基本資料類型

PHP基礎教學二之基本資料類型

黄舟
黄舟原創
2017-03-01 09:23:371199瀏覽

本節講解的內容

  • php的簡單介紹

  • ##php的四個標籤格式

  • php的變數

  • php的基礎資料型別

##PHP的簡單介紹

  php是開源的腳本語言,主要用於web開發,語法吸收了C語言,Java和perl的特點,利於學習,使用廣泛,用php做出來的動態頁面與其他的程式語言相比,PHP是將程式嵌入HTML文件中去執行,執行速度更快。

PHP的四個標籤格式

當php的程式碼寫到固定的格式時,解析器才會去執行php程式碼,而常見的PHP標籤有四種:

PHP基礎教學二之基本資料類型我們一般用的是第一種格式。也是最常見的格式。

PHP變數

  變數:是指沒有固定的值,可以改變的數。

  而我們創建變數的目的是:為了存放數據,以便後來對數據進行操作。

  變數名的命名規則:必須是數字,字母,底線組成的且不能以數字開頭的。

常用命名規則:

    駝峰式命名法:username->>>userName: 從第二個字開始,首字母大寫
  • 帕斯卡命名法:username->>>UserName:每個單字的首字母大寫
  • 下劃線命名法:username-> >>user_name:單字都是小寫,單字之間用底線隔開常用命名規則:
  • 在以後的函數名稱的命名規則也可以歸納為這三點。

PHP的變數名稱有個特點:變數的前面必須加上一個

$

符號,也就是shift + 4;同時為了開發方便,變數的名字一般要有意義。

PHP基本資料型別

  大多數語言語言,都是有資料型態這個說法,資料型別可以把我們在開發中所使用的資料進行分類,也是為了更好的管理吧。

PHP的基本資料型別分類:

    基本資料型態: 整數(int/integer), 浮點型(float/double), 布林型(bool /boolean), 字串(string)
  • 複合資料型態: 陣列(array), 物件(object)
  • 特殊資料類型:空(null), 資源(resource)
整數資料型別

  整數資料型別,就是我們平常使用的負整數,正整數等;

PHP中的整數可以是八進位(逢八進位)、十進位、十六進位(逢十六進位)。

$a = 2; //十进制
$a = 023;//八进制
$a = 0x23;//十六进制

八進位:前面有一個0,表示是八進位。

十六進位:前面有兩個0x,表示是十六進位。

整數型的大小有一個限度。而PHP的整數的字長和平台有關,通常是4個位元組,而4個位元組是32位,所以一般PHP的長度是2的31次方,其中有一位代表符號位。

在PHP中可以用系統常數PHP_INT_MAX得到最大值。但是當整數的值超過最大值的時候,就會自動轉換成float型別。

注意:PHP中不支援無符號數。

浮點型資料型別

  浮點型資料型別,就是我們通常說的小數。也叫作雙精度或實數。

字串的字長也和平台有關,一般是1.8e308,並具有14位十進制數字的精度。而小數的精度一般是從左起第一個非0的數字開始計算的。

echo 123456.78912345123;//输出结果123456.78912345--最后面的123四舍五入掉

echo 0000123456789.256486587441;//输出结果123456789.25649--6587441四舍五入向前进一位8变9

關於浮點型的比較,要根據不同的情況進行處理

    如果兩個浮點數是直接賦值的,可以直接比較。
  1. 如果兩個浮點數有一個,或多個是運算後得的結果,需要使用abs或round函數擴大倍數後比較.
布林資料型別

  布林資料型別也就是真(true)或假(false),但是除了這兩種形式,當其他的資料型別的值在某個條件也是有真假的。

一下的情況都會當成false:

    整數值0
  • 浮點型值0.0
  • 空字串和字串'0'
  • 不包括任何元素的陣列
  • 不包括任何成員的物件
  • 特殊類型null
  • 從空標記產生的SimpleXML物件。
字串資料型別

  字串就是一系列字元加上引號組成的,而PHP中字串最大可以使2GB;

在開發中我們常會使用到字串,而關於字串的定義方式,大致可以分成四種:

##單引號
  • 雙引號
  • Heredoc(雙引號)
  • nowdoc(單引號)

单引号:当字符串定义了单引号时,解析器不会对字符串中的变量进行解析。而是直接输出。

$a = 12;
$b = '这是一个单引号$a';
echo $b;
-----结果------
这是一个单引号$a

双引号:解析器会对字符串中的变量进行解析。

$a = 12;
$b = "这是一个单引号$a";
echo $b;
-----结果------
这是一个单引号12

Heredoc:当定义的字符串过长的时候,可以考虑使用者中方式,这种方式会对字符串中的变量进行解析。

$a = 12;
$b = <<<EOP//这个大写字母的定义可以随意。
这是一个hereDoc的类型$a;
EOP;
echo $b;
-----结果------
这是一个hereDoc的类型12;

注意:EOP的前后不能有空格或其他任何的字符

nowdoc:这种方式不会对字符串中的变量进行解析。

$a = 12;
$str = <<<&#39;COO&#39;
    这是一个nowDoc$a;
COO;
echo $str;
-----结果------
这是一个nowDoc$a;

基本数据类型转换

  数据类型就是从一种类型转换到另外一种类型。转换一般可以分为两种自动类型转换、强制类型转换

在一般情况下,当我们不知道数据是什么类型的时候可以使用var_dump(),这个函数可以打印数据的具体信息,其中就包括数据的类型。而PHP帮助文档中又提供了一种方式得到数据的类型getType()但是文档中明确表示不推荐使用:

PHP基礎教學二之基本資料類型

自动类型转换

  在前面介绍过,当整型的数据越过它的范围的时候,它就会自动转换成浮点型类型。这种自动完成的类型转换就是自动类型转换。
自动类型转换的场景:

整型数过大,自动转换成浮点型。

$a = PHP_INT_MAX;//表示整型的最大值
var_dump($a); //输出$a的类型
$a = PHP_INT_MAX + 1; //$a的值大于整型的最大值。
var_dump($a);
-----结果------
int(2147483647) float(2147483648)

当进行数值运算的时候,经常发生自动类型转换。

$a = 1; //整型
$b = 3.14; //浮点型
$res = $a + $b; //计算两个数的和
var_dump($res); //输出类型
-----结果------
float(4.14)

$a = 10;//整型
$b = 4;//整型
$res = $a / $b; //相除
var_dump($res);
-----结果------
float(2.5)

强制类型转换

  当我们想强制把当前的类型转换成其他类型的时候,可以使用强制类型转换:

使用bool settype ( mixed &

type )

$a = 100; //整型
settype($a, &#39;float&#39;);//强制类型转换
var_dump($a);
-----结果------
float(100)

$type的可能值是:

  1. “boolean” (或为“bool”,从 PHP 4.2.0 起)

  2. “integer” (或为“int”,从 PHP 4.2.0 起)

  3. “float” (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)

  4. “string”

  5. “array”

  6. “object”

  7. “null” (从 PHP 4.2.0 起)

使用类型

$a = 200;
$b = (string)$a;
var_dump($b);
-----结果------
string(3) "200"

使用函数得到对应的数据类型,比如intval , floatval ,boolval, strval

$a = 12.923;//浮点型
$b = intval($a);
var_dump($b);
-----结果------
int(12)

注意:当浮点型转换成整型的时候,会自动忽略小数点后的数,并不会四舍五入。

NULL数据类型

  NULL:表示一个变量没有值,NULL 类型唯一可能的值就是 NULL。

在下列情况下一个变量被认为是 NULL:

  • 被赋值为 NULL

  • 尚未被赋值

  • 被 unset()

其他的数据类型,数组,对象,资源在后面会介绍。

特别说明:在PHP中当我们想输出一个数的时候,可以使用echo进行输出,而字符串连接使用一个点.表示。也可以通过var_dump()进行输出,var_dump()可以输出当前数据的类型是什么。

总结

  基本数据类型使我们必须要掌握的,在以后的开发中,我们操作的数据都是基本数据类型。

本节讲解的内容

  • php的简单介绍

  • php的四种标签格式

  • php的变量

  • php的基础数据类型

PHP的简单介绍

  php是开源的脚本语言,主要用于web开发,语法吸收了C语言,Java和perl的特点,利于学习,使用广泛,用php做出来的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行速度更快。

PHP的四种标签格式

当php的代码写到固定的格式中时,解析器才会去执行php代码,而常见的PHP标签有四种:

PHP基礎教學二之基本資料類型

我们一般用的是第一种格式。也是最常见的格式。

PHP变量

  变量:是指没有固定的值,可以改变的数。

  而我们创建变量的目的是:为了存放数据,以便后来对数据进行操作。

  变量名的命名规则:必须是数字,字母,下划线组成的且不能以数字开头的。

常用命名规则:

  • 驼峰式命名法:username->>>userName: 从第二个单词开始,首字母大写

  • 帕斯卡命名法:username->>>UserName:每個單字的首字母大寫

  • 下劃線命名法:username-> >>user_name:單字都是小寫,單字之間用底線隔開常用命名規則:

在以後的函數名稱的命名規則也可以歸納為這三點。

PHP的變數名稱有個特點:變數的前面必須加上一個$符號,也就是shift + 4;同時為了開發方便,變數的名字一般要有意義。

PHP基本資料型別

  大多數語言語言,都是有資料型態這個說法,資料型別可以把我們在開發中所使用的資料進行分類,也是為了更好的管理吧。

PHP的基本資料型別分類:

  • 基本資料型態: 整數(int/integer), 浮點型(float/double), 布林型(bool /boolean), 字串(string)

  • 複合資料型態: 陣列(array), 物件(object)

  • 特殊資料類型:空(null), 資源(resource)

整數資料型別

  整數資料型別,就是我們平常使用的負整數,正整數等;

PHP中的整數可以是八進位(逢八進位)、十進位、十六進位(逢十六進位)。

$a = 2; //十进制
$a = 023;//八进制
$a = 0x23;//十六进制

八進位:前面有一個0,表示是八進位。

十六進位:前面有兩個0x,表示是十六進位。

整數型的大小有一個限度。而PHP的整數的字長和平台有關,通常是4個位元組,而4個位元組是32位,所以一般PHP的長度是2的31次方,其中有一位代表符號位。

在PHP中可以用系統常數PHP_INT_MAX得到最大值。但是當整數的值超過最大值的時候,就會自動轉換成float型別。

注意:PHP中不支援無符號數。

浮點型資料型別

  浮點型資料型別,就是我們通常說的小數。也叫作雙精度或實數。

字串的字長也和平台有關,一般是1.8e308,並具有14位十進制數字的精度。而小數的精度一般是從左起第一個非0的數字開始計算的。

echo 123456.78912345123;//输出结果123456.78912345--最后面的123四舍五入掉

echo 0000123456789.256486587441;//输出结果123456789.25649--6587441四舍五入向前进一位8变9

關於浮點型的比較,要根據不同的情況進行處理

  1. 如果兩個浮點數是直接賦值的,可以直接比較。

  2. 如果兩個浮點數有一個,或多個是運算後得的結果,需要使用abs或round函數擴大倍數後比較.

布林資料型別

  布林資料型別也就是真(true)或假(false),但是除了這兩種形式,當其他的資料型別的值在某個條件也是有真假的。

一下的情況都會當成false:

  • 整數值0

  • 浮點型值0.0

  • 空字串和字串'0'

  • 不包括任何元素的陣列

  • 不包括任何成員的物件

  • 特殊類型null

  • 從空標記產生的SimpleXML物件。

字串資料型別

  字串就是一系列字元加上引號組成的,而PHP中字串最大可以使2GB;

在開發中我們常會使用到字串,而關於字串的定義方式,大致可以分為四種:

  • 單引號

  • 雙引號

  • Heredoc(雙引號)

  • nowdoc(單引號)

#單引號:當字串定義了單引號時,解析器不會對字串中的變數進行解析。而是直接輸出。

$a = 12;
$b = &#39;这是一个单引号$a&#39;;
echo $b;
-----结果------
这是一个单引号$a

雙引號:解析器會對字串中的變數進行解析。

$a = 12;
$b = "这是一个单引号$a";
echo $b;
-----结果------
这是一个单引号12

Heredoc:當定義的字串過長的時候,可以考慮使用者中方式,這種方式會對字串中的變數進行解析。

$a = 12;
$b = <<<EOP//这个大写字母的定义可以随意。
这是一个hereDoc的类型$a;
EOP;
echo $b;
-----结果------
这是一个hereDoc的类型12;

注意:EOP的前後不能有空格或其他任何的字元

nowdoc:這種方式不會對字串中的變數進行解析。

$a = 12;
$str = <<<&#39;COO&#39;
    这是一个nowDoc$a;
COO;
echo $str;
-----结果------
这是一个nowDoc$a;

基本資料型別轉換

  資料型別就是從一種型別轉換到另一個型別。轉換一般可以分為兩種自動型別轉換、強制型別轉換

在一般情況下,當我們不知道資料是什麼型別的時候可以使用var_dump(),這個函數可以列印資料的具體訊息,其中就包括資料的類型。而PHP幫助文件中又提供了一種方式得到資料的型別getType()但是文件中明確表示不建議使用:

PHP基礎教學二之基本資料類型

自動型別轉換

  在前面介紹過,當整數型的資料越過它的範圍的時候,它就會自動轉換成浮點型別。這種自動完成的型別轉換就是自動型別轉換。
自動型別轉換的場景:

整型数过大,自动转换成浮点型。

$a = PHP_INT_MAX;//表示整型的最大值
var_dump($a); //输出$a的类型
$a = PHP_INT_MAX + 1; //$a的值大于整型的最大值。
var_dump($a);
-----结果------
int(2147483647) float(2147483648)

当进行数值运算的时候,经常发生自动类型转换。

$a = 1; //整型
$b = 3.14; //浮点型
$res = $a + $b; //计算两个数的和
var_dump($res); //输出类型
-----结果------
float(4.14)

$a = 10;//整型
$b = 4;//整型
$res = $a / $b; //相除
var_dump($res);
-----结果------
float(2.5)

强制类型转换

  当我们想强制把当前的类型转换成其他类型的时候,可以使用强制类型转换:

使用bool settype ( mixed &

type )

$a = 100; //整型
settype($a, &#39;float&#39;);//强制类型转换
var_dump($a);
-----结果------
float(100)

$type的可能值是:

  1. “boolean” (或为“bool”,从 PHP 4.2.0 起)

  2. “integer” (或为“int”,从 PHP 4.2.0 起)

  3. “float” (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)

  4. “string”

  5. “array”

  6. “object”

  7. “null” (从 PHP 4.2.0 起)

使用类型

$a = 200;
$b = (string)$a;
var_dump($b);
-----结果------
string(3) "200"

使用函数得到对应的数据类型,比如intval , floatval ,boolval, strval

$a = 12.923;//浮点型
$b = intval($a);
var_dump($b);
-----结果------
int(12)

注意:当浮点型转换成整型的时候,会自动忽略小数点后的数,并不会四舍五入。

NULL数据类型

  NULL:表示一个变量没有值,NULL 类型唯一可能的值就是 NULL。

在下列情况下一个变量被认为是 NULL:

  • 被赋值为 NULL

  • 尚未被赋值

  • 被 unset()

其他的数据类型,数组,对象,资源在后面会介绍。

特别说明:在PHP中当我们想输出一个数的时候,可以使用echo进行输出,而字符串连接使用一个点.表示。也可以通过var_dump()进行输出,var_dump()可以输出当前数据的类型是什么。

总结

  基本数据类型使我们必须要掌握的,在以后的开发中,我们操作的数据都是基本数据类型。

 以上就是PHP基础教程二之基本数据类型的内容,更多相关内容请关注PHP中文网(www.php.cn)!


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