原始數(shù)據(jù)類型(9種)
基本數(shù)據(jù)類型: 整形(integer)、浮點(diǎn)型(float)、字符串(string)、布爾型(boolean)
復(fù)合數(shù)據(jù)類型:數(shù)組(array)、對(duì)象(object)、callable(可調(diào)用)
特殊數(shù)據(jù)類型:資源類型(resource) 和 NULL
變量相關(guān)處理函數(shù)
is_bool($var)????????判斷是否為布爾型
is_int($var)??????????判斷是否為整型
is_float($var)??????判斷是否為浮點(diǎn)型
is_numeric($var)???判斷是否為數(shù)值或數(shù)值字符串
is_string($var)?????判斷是否為字符串
is_array($var)???????判斷是否為數(shù)組
is_object($var)?????判斷是否為對(duì)象
is_resource($var)??判斷是否為資源類型
is_null($var)?????????判斷是否為NULL
gettype($var)?????????獲取變量的類型
empty($var)???判斷是否為空
isset($var)???判斷是否存在
unset($var)???刪除變量
intval($var)??????強(qiáng)制轉(zhuǎn)換為整型
floatval($var)??強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型
boolval($var)??? 強(qiáng)制轉(zhuǎn)換為布爾型
strval($var)??????強(qiáng)制轉(zhuǎn)換為字符串
(int)$var?????????強(qiáng)轉(zhuǎn)為整型
(bool)$var???????強(qiáng)轉(zhuǎn)為布爾值
(float)$var?????強(qiáng)轉(zhuǎn)為浮點(diǎn)型
(string)$var???強(qiáng)轉(zhuǎn)為字符串
(array)$var?????強(qiáng)轉(zhuǎn)為數(shù)組
(object)$var???強(qiáng)轉(zhuǎn)為對(duì)象
(unset)$var???? 強(qiáng)轉(zhuǎn)為NULL
print_r($var)????????????打印數(shù)組
var_dump($var)??????????打印變量詳細(xì)信息
var_export($var)??????返回格式化的php代碼(不執(zhí)行),例如var_export($arr)
serialize($var)????????????變量序列化為字符串
unserialize($var)????????反序列化
字符串相關(guān)處理函數(shù)
addslashes()???對(duì)字符串內(nèi)的單雙引號(hào),反斜杠,NULL前面加進(jìn)行轉(zhuǎn)義
htmlspecialchars()???可轉(zhuǎn)義< > " " & ,默認(rèn)未開啟轉(zhuǎn)義單引號(hào)
strip_tags()???去除字符串中的html和php標(biāo)簽
md5()???將字符串進(jìn)行md5加密
sha1()???返回SHA-1散列,默認(rèn)生成40字符十六進(jìn)制數(shù)
uniqid(前綴,如果是true則為23字符)???根據(jù)系統(tǒng)微妙數(shù)生成唯一id,但是并不是很保險(xiǎn),推薦用下面的
md5(uniqid(mt_rand(), true))
nl2br()?將字符串中的
轉(zhuǎn)換為
trim()???移除兩邊空白符,可以使用第二個(gè)參數(shù)指定移除某個(gè)字符串
ltrim()?移除左邊空白符,可以使用第二個(gè)參數(shù)指定移除某個(gè)字符串
rtrim()?移除右邊空白符,可以使用第二個(gè)參數(shù)指定移除某個(gè)字符串
chr()???根據(jù)ASCII碼返回對(duì)應(yīng)字符
ord()???根據(jù)字符返回對(duì)應(yīng)ASCII碼
count_chars($str,1)?統(tǒng)計(jì)字符串中每個(gè)字符的出現(xiàn)的次數(shù),返回?cái)?shù)組
strlen()?返回字符串的長度
str_word_count()?統(tǒng)計(jì)字符串中的單詞數(shù)量
substr_count("hello 666 hello", "hello")?統(tǒng)計(jì)字符串中子串的數(shù)量
echo???是一個(gè)語法結(jié)構(gòu)
print??是一個(gè)語法結(jié)構(gòu)
str_split("abcdefg")???將字符串每個(gè)字符拆分為索引數(shù)組,第二個(gè)參數(shù)可以指定每個(gè)的長度array([0] => "a", [1]=>"b" ...)
explode(",", $str)???將字符串根據(jù)指定字符拆分為數(shù)組
implode(",", $arr)???將數(shù)組用指定字符連接接為字符串,同join
strtolower()???字符串轉(zhuǎn)為全小寫
strtoupper()???字符串轉(zhuǎn)為全大寫
ucfirst()???首字母大寫
lcfirst()???首字母小寫
ucwords()???每個(gè)單詞首字母大寫
strchr("hello world hello world", "world")???截取字符串第一次出現(xiàn)world到字符串結(jié)尾的部分,等同于strstr
stristr()???匹配時(shí)不區(qū)分大小寫
strrchr()???匹配最后一次到結(jié)尾
substr($str, start, length)???字符串截取
strpos("hello world", "world")???返回world在字符串中第一次出現(xiàn)的位置
strrpos()???匹配最后一次出現(xiàn)的位置
stripos()???匹配時(shí)不區(qū)分大小寫
str_replace("word", "world", "hello word")???字符串替換
str_ireplace()???不區(qū)分大小寫替換
str_repeat("我6", 3)???字符串重復(fù)
str_shuffle()???隨機(jī)打亂字符串中的字符
strrev()???字符串反轉(zhuǎn)
數(shù)組相關(guān)處理函數(shù)
array()???創(chuàng)建數(shù)組
array_keys()???返回所有鍵名
array_values()???返回所有的值
array_column($arr, "name")???返回?cái)?shù)組中某一列的值,第三個(gè)參數(shù)為指定某一列作為鍵名
array_rand($arr, 1)???隨機(jī)返回?cái)?shù)組中一個(gè)或多個(gè)鍵名
array_merge()???將多個(gè)數(shù)組合并為一個(gè)數(shù)組,如果是索引數(shù)組則第二個(gè)追加到第一個(gè)前面,如果是關(guān)聯(lián)數(shù)組則相同鍵名的后面覆蓋前面
array_replace()???和array_merge區(qū)別:處理索引數(shù)組時(shí)也會(huì)合并而不是追加,處理關(guān)聯(lián)數(shù)組基本一樣
array_replace_recursive($a1,$a2)???遞歸用后面數(shù)組的值替換前面數(shù)組的值
array_chunk($arr, 2)???將數(shù)組分割為指定數(shù)目的子數(shù)組
array_count_values()???統(tǒng)計(jì)數(shù)組中每個(gè)值出現(xiàn)的次數(shù)
array_diff($arr1,$arr2,$arr3)???返回多個(gè)數(shù)組的差集,只比較鍵值
array_diff_key($arr1,$arr2,$arr3)???返回多個(gè)數(shù)組的差集,只比較鍵名
array_diff_assoc($arr1,$arr2,$arr3)???返回多個(gè)數(shù)組的差集,比較鍵名和鍵值
**`array_intersect()返回多個(gè)數(shù)組的交集,只比較鍵值
array_intersect_key($arr1,$arr2,$arr3)???返回多個(gè)數(shù)組的交集,只比較鍵名
array_intersect_assoc($arr1,$arr2,$arr3)???返回多個(gè)數(shù)組的交集,比較鍵名和鍵值
array_flip()???數(shù)組鍵值對(duì)調(diào)
array_reverse()???數(shù)組數(shù)據(jù)順序顛倒
array_pop()???刪除數(shù)組最后一個(gè)元素
array_shift()???刪除數(shù)組的第一個(gè)元素
array_unshift($arr,"blue","yellow")???向數(shù)組開頭新增一個(gè)或多個(gè)元素
array_push($arr,"blue","yellow")???數(shù)組末尾追加一個(gè)或多個(gè)值,返回?cái)?shù)組長度
array_slice($arr, start, length)???數(shù)組截取
array_sum()???數(shù)組數(shù)據(jù)求和
array_unique()???數(shù)組去重
shuffle()???打亂數(shù)組
count()???數(shù)組長度
list()???將數(shù)組中的值依次賦值給變量
range("a","z")???生成指定范圍的數(shù)組
array_key_exists("name",$arr)???檢查某個(gè)鍵名是否存在
in_array("fsm", $arr)???檢查某個(gè)值是否存在,第三個(gè)參數(shù)如果為true,則同時(shí)校驗(yàn)類型
array_search("red",$arr)???根據(jù)值返回鍵名
key($arr)???獲取數(shù)組當(dāng)前的鍵名
current($arr)???獲取數(shù)組當(dāng)前的值
sort()???升序
rsort()???降序
asort()???索引數(shù)組升序
arsort()???索引數(shù)組降序
??????按照鍵:ksort()???按鍵升序
krsort()???按鍵降序
日期時(shí)間相關(guān)處理函數(shù)??????設(shè)置時(shí)區(qū)
php.ini date.timezone = PRC???
date_default_timezone_set("PRC");??? // Asia/Shanghai
ini_set("date.timezone", "Asia/Shanghai");???
time()??? 返回當(dāng)前時(shí)間戳
date("Y-m-d H:i:s")??? 格式化本地的時(shí)間或者日期,(y-n-j不帶前導(dǎo)零 w星期幾 z一年中第幾天 t月總天數(shù) L是否閏年 a:am或pm)
getdate()??? 根據(jù)時(shí)間戳返回日期時(shí)間信息數(shù)組
strtotime() ??? 將英文時(shí)間字符串解析為時(shí)間戳(2018-11-27 11:05:23, now, +1 week 2 days 4 hours 2 seconds, next Thursday, last Monday)
mktime(hour, minute, second, month, day, year)???取得一個(gè)日期的時(shí)間戳
microtime()???返回當(dāng)前時(shí)間戳和微秒數(shù)0.50091600 1543288331
gettimeofday(true)???取得當(dāng)前時(shí)間戳和和前三位或四位微秒1543289052.4254
checkdate(month, day, year)???驗(yàn)證日期合法性(月日年為必填)
目錄和文件相關(guān)處理函數(shù)
getcwd()???返回當(dāng)前文件所在目錄的絕對(duì)路徑
scandir()???數(shù)組形式返回目錄中的所有子目錄和子文件
basename()???返回路徑中的文件名部分
dirname()???返回路徑中的目錄部分
pathinfo()???數(shù)組形式返回文件的信息
mkdir()???創(chuàng)建目錄
copy(a, b)???復(fù)制文件
rename(oldname, newname)???重命名文件或文件夾
unlink()???刪除文件
rmdir()???刪除空目錄
move_uploaded_file(file,newloc)???將上傳的文件移動(dòng)到新位置
file_exists()???檢查文件或目錄是否存在
file_get_contents()???將文件讀入一個(gè)字符串
file_put_contents(filename, data)???將字符串寫入一個(gè)文件
filesize()???返回文件的大小
filetype()???返回文件的類型
is_file()???判斷是否為普通文件
is_link()???判斷是否為鏈接文件
URL相關(guān)處理函數(shù)
urlencode()???url編碼
urldecode()???url解碼
base64_encode()???base64編碼
base64_decode()???base64反編碼
http_build_query($arr)???將數(shù)組編碼成url參數(shù)字符串
parse_str("name=Bill&age=60", $arr)???將url參數(shù)字符串解析保存為數(shù)組
parse_url("http://php.net/manual/en/function.parse-url.php?name=12234456&time=baga")???將url地址信息解析為數(shù)組,數(shù)組中的query可以作為parse_str的參數(shù)
數(shù)學(xué)相關(guān)處理函數(shù)
abs()???絕對(duì)值
ceil()???向上取整
floor()???向下取整
fmod()???返回除法浮點(diǎn)數(shù)余數(shù)
max()???最大值
min()???最小值
pi()???圓周率
pow(x,y)???x的y次方
sqrt()???平方根
round()???四舍五入
rand(low, high)???返回隨機(jī)整數(shù)
is_nan()???判斷是否為 非數(shù)值
魔術(shù)常量(預(yù)定義常量)
__FILE__???返回文件的完整路徑和文件名(絕對(duì)路徑),如果用在被包含的文件中,則返回被包含的文件名
__DIR__???返回文件所在目錄,等價(jià)于dirname(__FILE__)
__NAMESPACE__???返回當(dāng)前命名空間
__CLASS__???返回當(dāng)前類名
__METHOD__???返回當(dāng)前方法名
__FUNCTION__???返回當(dāng)前函數(shù)名
魔術(shù)方法
__construct()???實(shí)例化類時(shí)自動(dòng)調(diào)用。
__destruct()???類對(duì)象使用結(jié)束時(shí)自動(dòng)調(diào)用。
__set()???在給未定義的屬性賦值的時(shí)候調(diào)用。
__get()???調(diào)用未定義的屬性時(shí)候調(diào)用。
__isset()???使用isset()或empty()函數(shù)時(shí)候會(huì)調(diào)用。
__unset()???使用unset()時(shí)候會(huì)調(diào)用。
__clone()???當(dāng)使用clone復(fù)制一個(gè)對(duì)象時(shí)候調(diào)用。
超全局變量(預(yù)定義變量)
$_SERVER???服務(wù)器和執(zhí)行環(huán)境信息
$_GET???get方式傳遞的數(shù)據(jù)
$_POST???post方式傳遞的數(shù)據(jù)
$_FILES???http文件上傳信息
$_COOKIE???http cookies
$_SESSION???session變量
$_REQUEST???默認(rèn)包含get post cookies
$GLOBALS???全局變量
其他函數(shù)
function_exists()???檢查函數(shù)是否存在
class_exists()???檢查類是否存在
method_exists(obj, method_name)???檢查方法是否存在
header()???發(fā)送HTTP報(bào)頭(Location:)
define()???定義一個(gè)常量
defined()???檢查一個(gè)常量是否存在
die() exit()???輸出消息并退出腳本
sleep()???程序延遲執(zhí)行若干秒
usleep()???程序延遲執(zhí)行若干微秒
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29720.html
摘要:非對(duì)稱加密與對(duì)稱加密相對(duì)的是非對(duì)稱加密,非對(duì)稱加密的核心思想是使用一對(duì)相對(duì)的密匙,分為公匙和私匙,私匙自己安全保存,而將公匙公開。 引言 互聯(lián)網(wǎng)的發(fā)展史上,安全性一直是開發(fā)者們相當(dāng)重視的一個(gè)主題,為了實(shí)現(xiàn)數(shù)據(jù)傳輸安全,我們需要保證:數(shù)據(jù)來源(非偽造請(qǐng)求)、數(shù)據(jù)完整性(沒有被人修改過)、數(shù)據(jù)私密性(密文,無法直接讀?。┑?。雖然現(xiàn)在已經(jīng)有SSL/TLS協(xié)議實(shí)現(xiàn)的HTTPS協(xié)議,但是因在客戶...
摘要:參考一些博主的經(jīng)驗(yàn)和自己的開發(fā)經(jīng)驗(yàn)進(jìn)行總結(jié)持續(xù)更新。優(yōu)先使用和集合來操作和處理數(shù)據(jù)。 參考一些博主的經(jīng)驗(yàn)和自己的開發(fā)經(jīng)驗(yàn)進(jìn)行總結(jié)-持續(xù)更新ing。 功能設(shè)計(jì) 功能盡量模塊化; 類的設(shè)計(jì)盡量單一,函數(shù)功能單一; 需要uml圖(類圖、時(shí)序圖、組件圖)、文檔沉淀; 編寫風(fēng)格 遵循PSR-1 基礎(chǔ)編碼規(guī)范https://laravel-china.org 遵循PSR-2 編碼風(fēng)格規(guī)范h...
摘要:事件委托得到如下一個(gè)監(jiān)聽,多個(gè)函數(shù)綁定標(biāo)簽的屬性并不被同源策略同協(xié)議域名端口所約束,所以可以獲取任何服務(wù)器上腳本并執(zhí)行。從上面的代碼可以得知,是引用對(duì)象,而且是可以更改指定的對(duì)象。我記不住的,請(qǐng)求出現(xiàn)語法錯(cuò)誤。,服務(wù)器拒絕請(qǐng)求。 事件委托 ul#wrap>li.item$*2>{item $} 得到如下 html item 1 item 2 一個(gè)監(jiān)聽,多個(gè)...
摘要:標(biāo)量類型聲明在中,引入了一個(gè)新的特性,即標(biāo)量類型聲明。棄用樣式構(gòu)造函數(shù)是與它們定義的類具有相同名稱的方法,現(xiàn)在已被棄用,并且將來將被刪除。 showImg(https://segmentfault.com/img/remote/1460000012438557?w=1024&h=456); 說明 PHP 7使用新的Zend Engine 3.0將應(yīng)用程序性能提高近兩倍,內(nèi)存消耗比PHP...
摘要:錯(cuò)誤是運(yùn)行期間的嚴(yán)重問題,通常是因?yàn)榇a出錯(cuò)而造成,必須要修正它,否則會(huì)使停止執(zhí)行。警告是非致命錯(cuò)誤,程序執(zhí)行也不會(huì)因此而中止。 showImg(https://segmentfault.com/img/remote/1460000018197894?w=720&h=398); 前言 近期因公司內(nèi)部轉(zhuǎn)崗,開始參與PHP項(xiàng)目進(jìn)行后端開發(fā),一直都是強(qiáng)類型寫的比較多,弱類型語言也有接觸了一些...
閱讀 1968·2021-09-30 09:46
閱讀 1378·2019-08-30 15:43
閱讀 1133·2019-08-29 13:28
閱讀 1934·2019-08-29 11:24
閱讀 1701·2019-08-26 13:22
閱讀 3981·2019-08-26 12:01
閱讀 1831·2019-08-26 11:33
閱讀 3253·2019-08-23 15:34