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