一、數(shù)據(jù)類型轉換
指的是將數(shù)據(jù)(變量)的值轉換成目標數(shù)據(jù)類型。
PHP中有兩種數(shù)據(jù)類型轉換方式:自動轉換,強制轉換
自動轉換:系統(tǒng)根據(jù)操作所需要的類型將變量的值進行對應類型的轉換
自動轉換都是系統(tǒng)本身所做的事情,不需要用戶去干預。
強制轉換:我們根據(jù)具體的需求,將變量的值事先轉換成所需的數(shù)據(jù)類型
int,integer:整型,將數(shù)據(jù)轉換成整型
bool,Boolean:將數(shù)據(jù)值轉換成布爾型
float:轉換成浮點型
string:轉換成字符型
array:轉換成數(shù)組類型
object:轉換成對象類型
查看數(shù)據(jù)的類型:
var_dump()可以輸出數(shù)據(jù)的類型和值
gettype( )獲取數(shù)據(jù)的類型,只能獲取類型
settype($var,'類型')設置類型的值 等價于 (數(shù)據(jù)類型)$var
二、判斷數(shù)據(jù)類型
PHP提供了一些列函數(shù)來判斷數(shù)據(jù)的類型。函數(shù)都是以is_開頭,后面跟數(shù)據(jù)類型。
如果是目標類型則返回TRUE,否則返回FALSE
is_bool
is_float
is_integer
is_object
is_array
is_string
is_resource
is_scalar:判斷一個變量的值是否是標量類型
is_null
is_numeric:檢測變量是否為數(shù)字或數(shù)字字符串
三、文件包含
include"文件路徑"
include_once "文件路徑"
require "文件路徑"
require_once "文件路徑"
include和require的區(qū)別:
相同點:都能夠包含文件
不同點:include會嘗試著去包含,如果包含不到,會提示警告錯誤,但是不會影響當前自身腳本的執(zhí)行;require一定會去包含文件,而且包含的文件必須不能出錯,否則會終止當前自身腳本的執(zhí)行
四、PHP提供了三種方式來終止腳本執(zhí)行:return,die,exit
五、系統(tǒng)常用函數(shù)
字符串函數(shù)
strlen:獲取字符串的長度,獲取的是字符串的字符的長度,字符串間的空格頁計算在內
substr (目標字符串 , 截取起始位置 [, 截取長度] ),如果沒有截取長度,則默認截取到最后。字符串的起始位置從0開始,第一個字符是0。
strtolower:將字符串變成小寫
strtoupper:將字符串變成大寫
ucfirst:將字符串首字母大寫
strrev:將字符串反過來
strpos:獲取字符串中某個字符首次出現(xiàn)的位置
strrpos:獲取字符串中某個字符最后一次出現(xiàn)的位置
strchr:是strstr函數(shù)別名,查找某個字符在字符串中首次出現(xiàn)的位置,并返回該位置到字符串最后的整個字符串
strrchr查找某個字符在字符串中最后出現(xiàn)的位置,并返回該位置到字符串最后的整個字符串(獲取文件后綴名)
trim:去除一個字符串兩遍的(最外邊)的空格(或者其他字符)
時間函數(shù)
time:得到當前時間的時間戳,是一個整型數(shù)據(jù)
date:將指定的時間戳,按照指定的字符串格式進行輸出。輸出的格式化有固定的參數(shù)
string date ( string $format [, int $timestamp ] ),$format是一個包含可以識別參數(shù)的字符串,第二個參數(shù)是一個整型的時間戳,如果沒有提供則默認是當前時間的時間戳。
數(shù)學函數(shù)
abs:獲取數(shù)值的絕對值
floor:向下取整
ceil:向上取整
round:四舍五入
rand:隨機取得指定范圍或者0到整型最大值之間的數(shù)
mt_rand:隨機取得指定范圍或者0到整型最大值之間的數(shù),比rand效率高
六、數(shù)組基本語法
關鍵字array
顯示數(shù)組語法
$arr = array(元素1,元素2,元素3…); //數(shù)據(jù)類型一定是數(shù)組
隱式數(shù)組語法
$arr[] = 元素1; //定義一個$arr變量,將元素1添加進來
$arr[] = 元素2; //將元素2添加到$arr變量中
遍歷數(shù)組
統(tǒng)計數(shù)組長度:count();
for循環(huán)遍歷數(shù)組
foreach 遍歷數(shù)組
語法:foreach(數(shù)組 as 鍵值對$key => $value){
//使用$key當做當前元素的下標
//使用$value當做當前元素的值
}
七、數(shù)組相關函數(shù)
key:獲取當前數(shù)組當前指針所指向元素的下標
current:獲取當前數(shù)組指針所指向的元素的值
next:返回數(shù)組當前指針所指向的下一位的元素的值,并指針下移一位
注意:如果當前指針已經(jīng)在數(shù)組元素的最后一個元素,那么next返回FALSE,指針依然下移一位,移除了數(shù)組
prev:返回當前指針所在位置的前一個元素的值,并且將指針向前移動一位
注意:如果當前指針已經(jīng)在數(shù)組元素的第一個元素,那么使用Prev將會將數(shù)組的指針移除數(shù)組,返回FALSE
如果指針一旦移除數(shù)組,那么都不能通過prev或者next將指針拉回來。
end :獲取數(shù)組元素最后一個元素的值,指針也會指向最后一個元素
reset:重置數(shù)組的指針,讓數(shù)組指針指向第一個元素,如果成功返回第一個元素的值,失敗返回FALSE
array_keys:獲取數(shù)組的所有下標,返回一個索引數(shù)組,數(shù)組元素的值都是目標數(shù)組的下標
array_values:獲取數(shù)組所有的值,返回一個索引數(shù)組
array_push:從數(shù)組的尾端加入一個元素(壓棧)
array_pop:從數(shù)組的尾端彈出一個元素(出棧)
array_shift:從數(shù)組頭部將數(shù)組元素移出
array_unshift:從數(shù)組的頭部插入數(shù)據(jù).
數(shù)組與字符串之間的轉換
explode:將字符串按照指定的分隔符分解成一系列小的字符串,都成為數(shù)組的一個元素
implode:將一個數(shù)組里的所有的元素按照某個分隔符進行拼接,變成一個字符串
range:按照ASCII碼能夠指定范圍,自動生成數(shù)組元素的函數(shù) 例子 range(‘a’,'z');
array_rand:從數(shù)組中隨機取出指定長度的個數(shù)的元素下標
shuffle:將原來的數(shù)組里的元素打亂
數(shù)組合并:+和array_merge()
+:保存第一個數(shù)組的所有元素,如果后面的數(shù)組的元素與前面數(shù)組的元素的下標相同,那么就忽略,如果不同則加到第一個數(shù)組里,最終返回一個數(shù)組
array_merge():先保留第一個數(shù)組的所有元素,如果后面數(shù)組的元素與前面數(shù)組的元素關聯(lián)下標相同則用后面數(shù)組的元素覆蓋前面的;如果是索引下標,直接添加到第一個數(shù)組后面,重置索引。
未經(jīng)允許不得轉載:445IT之家 » PHP之數(shù)據(jù)類型轉換與數(shù)組