數(shù)據(jù)類型
int
float
bool
strig
null
array
object
resource
單引號(hào) 雙引號(hào)
' ' 最外層只要是單引號(hào),里面的東西會(huì)原樣輸出
" " 最外層只要是雙引號(hào),里面的東西會(huì)解析
-
轉(zhuǎn)意符 想要解析,也要用雙引號(hào)
\n 換行
\r 回車
\t 制表
"
'
php 創(chuàng)建數(shù)組 遍歷數(shù)組
-
索引數(shù)組
$arr = ['one','two'];
- 索引數(shù)組遍歷的方法 for 和 foreach
$arr = ['one','two']; for ($i = 0;$i < count($arr); $i++) { echo $arr[$i]; }
$arr = ['one','two']; foreach($arr as $key => $value){ echo $key .' '.$value }
-
關(guān)聯(lián)數(shù)組
$arr = ['name'=>'小明','age'=>'18']; $arr = array('name' => '小明','age'=>'18');
- 關(guān)聯(lián)數(shù)組的遍歷方式
$arr = ['name'=>'小明','age'=>'18']; foreach($arr as $key => $value){ echo $key .''.$value }
-
混合數(shù)組
$arr=[2,3,4,'name'=>'jake',5]
-
二維數(shù)組
$arr = [['name','age'],['a','b'.'c']]//嵌套兩層
-
$data = [ ["id" => 1, "name" => "香蕉", "src" => "img/banana1.jpg"], ["id" => 2, "name" => "蘋果", "src" => "img/apple1.jpg"], ["id" => 3, "name" => "橙?", "src" => "img/orange1.jpg"], ["id" => 4, "name" => "菠蘿", "src" => "img/pineapple1.jpg"] ]; $value) : ?>
-
php數(shù)組中push
$arr[] = 10; // 創(chuàng)建了一個(gè)數(shù)組,名字叫arr 并追加了一項(xiàng) 10 到數(shù)組中
html php的混寫
### 登錄
### 退出
函數(shù)的聲明與使用特點(diǎn)
-
聲明(與js中一致)
function fn() { }
-
php 中函數(shù)的內(nèi)部無(wú)法訪問(wèn)外部的成員 ,可以使用 global 或者 $GLOBALS 來(lái)引用全局變量(不推薦)
$a = 100; funtion fn() { // echo $a 調(diào)用函數(shù) 無(wú)法輸出,因?yàn)楹瘮?shù)內(nèi)部無(wú)法訪問(wèn)外部的成員$a echo $GLOBALS['a'];//調(diào)用函數(shù)外部變量的方法 []中的變量不用加$符號(hào) } fn()
超全局變量
$GLOBALS 保存了所有的全局變量, 類似js中的window對(duì)象
...
常量
-
常量的定義
define(常量名,常量值,false/true)
-
false 默認(rèn)值,區(qū)分大小寫 true 不區(qū)分大小寫
define('PI',3.14)
-
魔術(shù)常量
__LINE__ 獲取當(dāng)前的行數(shù)
__FILE__ 獲取當(dāng)前文件的路徑
__DIR__ 獲取當(dāng)前文件所在的目錄
__FUNCTION__ 獲取當(dāng)前的函數(shù)名稱
-
預(yù)定義常量
- PHP_INT_MAX php中的最大值
文件載入
include 可以載入多次,遇到錯(cuò)誤,后面代碼繼續(xù)執(zhí)行
require 可以多次載入,遇到錯(cuò)誤,后面代碼不執(zhí)行
include_once 載入一次 遇到錯(cuò)誤 繼續(xù)執(zhí)行
require_once 載入一次 遇到錯(cuò)誤 不在執(zhí)行
時(shí)間處理函數(shù)
time() 時(shí)間戳 單位是秒
strtotime() 把時(shí)間轉(zhuǎn)換成時(shí)間戳
-
date('Y-m-d H:i:s') 年月日 時(shí)分秒 如果要改時(shí)區(qū),修改配置文件-date.timezone= PRC 或者Asia/shanghai
// 打印明天的時(shí)間 strtotime('+ 1 day'); //昨天的時(shí)間 strtotime('-1 day') //5小時(shí)后 strtotime('+5 hours')
字符串函數(shù)
-
strlen(str) 獲取字符串的長(zhǎng)度
無(wú)法正確處理中文字符 utf-8 每個(gè)字符占3個(gè)字節(jié)
-
mb_strlen(str,編碼)
可以處理中文字符,沒(méi)有設(shè)置編碼就按照當(dāng)前php默認(rèn)的編碼 要使用這個(gè)函數(shù),需打開php_mbstring.dll . 能否使用也與當(dāng)前php版本也有關(guān)系
trim() 去除左右的空格
-
explode() 將字符串分成數(shù)組 類似js中的split
$str = 'a,b,cd'; $arr = explode(',',$str)// [a,b,cd] //用, 分割成數(shù)組
substr() 截取字符串 類似js的slice
strpos() 類似js 中 index of
strrpos() 類似js 中 last index of
-
strrchr() 取出文件名的拓展名
strrchr(文件名,'.')// 會(huì)取出png
補(bǔ)充函數(shù)
-
數(shù)學(xué)函數(shù)
max
min
floor
ceil
rand 隨機(jī)數(shù)
-
數(shù)組相關(guān)
-
array_splice()
1.刪除
$arr = [2,3,4,5,6]; array_splice($arr,2,3) //從下標(biāo)2(包括下標(biāo)為2的)開始,刪除3項(xiàng)
2.插入
$arr = [2,3,4,5,6]; array_splice($arr,2,0,7)//從下標(biāo)為2的前面插入一項(xiàng) 值為 7 的項(xiàng) array_splice($arr,2,0,[7,8,9])//從下標(biāo)為2的前面插入一項(xiàng) [7,8,9]
3.替換
$arr= [2,3,4,5,6]; array_splice($arr,2,3,[6,7,8])//從下標(biāo)為2(包括下標(biāo)為2 的那項(xiàng))開始把后3項(xiàng)替換成[6,7,8]
-
array_slice() 截取
$arr = [2,3,4,5,6]; $arr1 = array_slice($arr,2)//[4,5,6] //從下標(biāo)為2 開始截取 后面的 組成一個(gè)新的數(shù)組
$arr = [2,3,4,5,6,7,8]; $arr1 = array_slice($arr,2,4)//[5,6,7,8] //從下標(biāo)為2 的開始(不包含第2項(xiàng)) 向后截取4項(xiàng)
in_array() 判斷一個(gè)值是否在這個(gè)數(shù)組中
-
implode() 把數(shù)組元素組合成字符串 類似js中join方法
$arr = [23,45,6]; $str = implode('|',$arr);//23|45|6 // 用 | 組成一個(gè)字符串
-
-
其他函數(shù)
parse_url
uniqid 隨機(jī)生成一個(gè)唯一的id
exit() 中止代碼
die() 中止代碼
[圖片上傳失敗...(image-85f1d1-1527609637382)]