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