1.php中預(yù)定義變量-php系統(tǒng)預(yù)先定義的變量
1.傳值中接收數(shù)據(jù)的變量
$_GET 數(shù)據(jù)量小 不安全
`經(jīng)由HTTP GET 方式來傳遞數(shù)據(jù)的`
$_POST 數(shù)據(jù)量大 安全
`經(jīng)由HTTP POST方式來傳遞數(shù)據(jù)的`
$_REQUEST $_GET+$_POST 效率低
$_FILES 上傳變量
`經(jīng)由HTTP POST方式來上傳文件的`
2.會(huì)話(臨時(shí)的存儲(chǔ)空間)
$_SESSION
`在服務(wù)器端保存數(shù)據(jù)`
$_COOKIE
`在客戶端保存數(shù)據(jù)的`
$_SERVER
`系統(tǒng)的環(huán)境信息`
2.PHP中的數(shù)據(jù)類型
PHP中有8種數(shù)據(jù)類型
A.基礎(chǔ)數(shù)據(jù)類型(標(biāo)量類型)
1.字符串 string
必須在"或者'之內(nèi)的.
例如$str = "abc";
echo $str;//打印出來就是abc
單雙引號(hào)的區(qū)別
雙引號(hào)""中的代碼會(huì)執(zhí)行
單引號(hào)''中的代碼不會(huì)執(zhí)行,會(huì)照普通字符輸出
普通字符 轉(zhuǎn)換為 控制符
\n為轉(zhuǎn)義字符(相當(dāng)于換行)
\r回車
\t水平制表符
\f換頁
控制符 轉(zhuǎn)換為 普通字符
需要轉(zhuǎn)換為普通字符的 控制符 加\
" \"
' \'
< \<
2.整型 integer
整型:整數(shù) 十進(jìn)制 八進(jìn)制 16進(jìn)制
正整數(shù) 負(fù)整數(shù) 0
3.浮點(diǎn)型 float
代表小數(shù)
4.布爾型 boolean
true false
$bl = true;echo $bl// 打印1
$bll = false; echo $bll //不輸出
單純打印的時(shí)候 false值為空值
只有參加運(yùn)算進(jìn)行比較的時(shí)候 false > -1可以看成是0
B.復(fù)合類型
1.數(shù)組 array
2.對(duì)象 object
C.特殊類型:
1.資源 resource
2.空值 null 沒有值 (聲明變量 賦值" " unset(變量名稱))
1. $m = null;echo $m;//沒有內(nèi)容
2. $m = null;$t;echo$m==$t;
//聲明變量 空 unset($變量名稱)釋放變量
3.var_dump() 返回變量的數(shù)據(jù)類型的
$q1 = 123;echo var_dump($q1);
// 返回 int(123)(是整型的前三個(gè)字母)
$q2 = 3.14;echo var_dump($q2);
// 返回 float(3.14)
$q3 = "aaa";echo var_dump($q3);
// 返回 string(3)"aaa"
4.常量:固定不變的量
1.系統(tǒng)常量
PHP_OS 操作系統(tǒng)的信息
PHP_VERSION PHP的版本
PHP_SAPI 運(yùn)行的版本
2.自定義常量
格式:define("常量名稱","常量的值");
define("UNAME","常量的值") echo UNAME//打印出常量的值
常量名稱 習(xí)慣 全大寫
用法:網(wǎng)頁上規(guī)定不變的內(nèi)容:比如在工商局的備案號(hào)
3.魔術(shù)常量
__FILE__D;當(dāng)前文件的物理路徑**
__LINE__;當(dāng)前行號(hào)
__FUNCTION__;當(dāng)前的函數(shù)名
__CALSS__;當(dāng)前的類名
__METHOD__;當(dāng)前方法名稱
5.文件上傳:
form enctype = "multipart/form-data"指定的編碼方式
print_r($uImg)打印出的數(shù)組說明
Array (
[name] => 1395367871156.jpg //文件的名稱
[type] => image/jpeg //文件的mime類型
[tmp_name] => /Applications/XAMPP/xamppfiles/temp/phpShrLIO
//文件臨時(shí)位置
[error] => 0 //錯(cuò)誤信息 0 ok
[size] => 529941 ) //文件大小
move_uploaded_file(臨時(shí)位置,指定的位置)
使用方法-例
move_uploaded_file($uImg["tmp_name"],"lianxi/.$uImg["name"]")
6.函數(shù)
1.數(shù)學(xué)函數(shù)
max 最大值
min 最小值
ceil 進(jìn)一取整
floor 下舍入
round 四舍五入
rand 產(chǎn)生一個(gè)隨機(jī)數(shù)
mt_rand 生成更好的隨機(jī)數(shù) 提高效率
2.日期函數(shù)
時(shí)間戳
time() 返回當(dāng)前的Unix時(shí)間戳
date("Y-m-d H:i:s") (日期格式,[時(shí)間戳])格式化一個(gè)本地時(shí)間/日期
strtotime 將標(biāo)準(zhǔn)格式轉(zhuǎn)化為時(shí)間戳
date_default_timezone_set("Asia/Shanghai")
常用 :設(shè)置時(shí)區(qū)(只提供了上海和重慶)(臨時(shí) 需要的頁面都要寫 )
了解 :或者改配置文件(date.timezone = PRC)更改時(shí)間 中華人民共和國(guó)時(shí)間
7.字符串
strlen($變量名) 獲取字符串長(zhǎng)度
strtolower($變量名) 字符串小寫
strtoupper($變量名) 字符串大寫
ucfirst($變量名) 字符串中首字母大寫
ucwords($變量名) 每個(gè)單詞首字母大寫
strrev($變量名) 翻轉(zhuǎn)字符串(鏡像)
trim($變量名) 去掉字符串首尾的空格(空格占字符)
(常用于輸入用戶名 萬一有空格 可以處理掉)
str_replace("原字符","新字符",$變量名) 替換
strpos($變量名,"要查找的字符")查找字符首次出現(xiàn)的位置
(找不到 的就什么都沒有)
substr($變量名,從幾號(hào)字符開始,要截的長(zhǎng)度) 截取字符串
md5($變量名)加密函數(shù)
unset($變量名) 釋放變量(釋放后 就沒有內(nèi)容)
8.數(shù)組
print_r() 打印數(shù)組結(jié)構(gòu)
count()計(jì)算數(shù)組元素個(gè)數(shù)的
echo 引用數(shù)組元素
數(shù)組是變量存儲(chǔ)的有序序列
索引數(shù)組:下標(biāo)為數(shù)字的數(shù)組(可以不連續(xù))
(可以1.下標(biāo)直接定義 2.array關(guān)鍵字定義)
關(guān)聯(lián)數(shù)組:下標(biāo)是字符串的數(shù)組
(可以1.下標(biāo)直接定義 2.array關(guān)鍵字定義)
二維數(shù)組
格式
$frr = array(
array("a",1,"aa"),
array("b",2,"bb"),
array("c",3,"cc"),
);
引用
$數(shù)組名稱[第一維下標(biāo)][第二維下標(biāo)];
9.foreach 循環(huán) 遍歷數(shù)組
格式
foreach(數(shù)組名稱 as $key=>$val){
循環(huán)體
}
$key 依次遍歷數(shù)組的下標(biāo)
$val 依次遍歷數(shù)組的值
遍歷: 訪問到數(shù)組中的每一個(gè)元素
10.數(shù)組函數(shù)
count() 返回?cái)?shù)組的元素個(gè)數(shù)
explode("a",$變量) 用a切割字符串,結(jié)果是一個(gè)數(shù)組,從而取得里面的內(nèi)容
join("a",$arr) 用a連接數(shù)組里的值組成的字符串.implode別名(一樣的)
array_values($變量名) 返回?cái)?shù)組中的所有值組成的新的 索引數(shù)組
array_keys($變量名) 返回?cái)?shù)組中下標(biāo)(鍵名)組成的新的 索引數(shù)組
array_pop($變量名) 將數(shù)組最后一個(gè)元素刪除,返回最后一個(gè)元素的值
list(a,b,c) 把數(shù)組中的值 賦給對(duì)應(yīng)的變量(對(duì)關(guān)聯(lián)無效,對(duì)索引有效)
next() 下一個(gè)元素
prev() 上一個(gè)元素
end() 最后一個(gè)元素
in_array("a",$arr) 檢查數(shù)組中是否存在某個(gè)值(返回true false)
array_reverse($arr) 數(shù)組前后的順序翻轉(zhuǎn)
冒泡排序
<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(3,6,14,7,2,20,35); //讓0--2位置的元素?fù)Q位
$tmp = $arr[0];//3
$arr[0] = $arr[2];
$arr[2] = $tmp;
print_r($arr);
echo"<br>----------------冒泡排序---------------<br>";
$brr = array(3,6,14,7,2,20,35);
for ($i=0; $i <count($brr) ; $i++) {
for ($j=$i+1; $j < count($brr); $j++) {
if($brr[$i]>$brr[$j]){
$tmps = $brr[$i];
$brr[$i] = $brr[$j];
$brr[$j] = $tmps;
}
}
}
print_r($brr)
?>
輸出結(jié)構(gòu)打印
11.PHP文件庫
resource fopen(string $filename,string $mode) 打開文件或者URL
$mode 打開的模式有以下幾種.
'r'只讀方式打開,將文件指針指向文件頭.
'r+'讀寫方式打開,將文件指針指向文件頭.
'w'寫入方式打開,將文件指針指向文件頭并將文件大小截為0.如果文件不存在則嘗試創(chuàng)建之.
'w+'讀寫方式打開,將文件指針指向文件頭并將文件大小截為0.如果文件不存在則嘗試創(chuàng)建之.
'a'寫入方式打開,將文件指針指向文件末尾.如果文件不存在則嘗試創(chuàng)建之.
'a+'讀寫方式打開,將文件指針指向文件末尾.如果文件不存在則嘗試創(chuàng)建之.
文件指針指向文件尾的意思 是光標(biāo)最后停在末尾
fopen(string $filename,string $mode) 打開文件或者URL
fwrite(resource $handle,string $string) 寫入文件 (可安全用于二進(jìn)制文件)
fclose(resource $handle) 關(guān)閉文件 返回布爾 關(guān)true
fread(resource,$length) 讀取文件
filesize() 取得文件大小
可以創(chuàng)建的文件: .txt .doc .html .php
12.序列換數(shù)據(jù) 序列化以后的數(shù)據(jù)可以放入文件中, 方便其他文件讀取和調(diào)用
serialize()序列化函數(shù):產(chǎn)生一個(gè)可存儲(chǔ)的表示
string serialize(mixed $value)