對所學知識的依次基礎的總結
<?php一.php基礎語法 1.輸出語句:**echo(可以輸出多個字符串); print(輸出一個字符串); print_r(輸出數組); **var_dump()(具體 的數據 還有它的類型);2.php是弱類型語言(不太常用) 強制轉換類型: 1)(類型)變量 2)settype(變量,類型)3.變量定義 $a = 5;(定義變量 可變變量:$b="a"; $$b =10; 判斷變量類型 gettype(變量);獲取變量類型 is_類型() is_int();判斷變量是否是該類型 判斷變量是否為空:empty() isset(); 刪除變量:unset(); 4.字符串的定義方式 $str = "hello"; 可以解析變量 解析轉義字符 $str = 'hello'; 不能解析 $str = <<<A hello (在中間 寫字符串 ) A; 不用擔心單引號和雙引號的問題5.運算符與表達式 (基本上與其他語言都是一致的 加減乘除 取余 加加 減減 大于小于等等 )6.語句 分支:if switch...case 循環:for foreach while do...while7.函數 四要素:返回類型,函數名,參數列表,函數體 函數的定義方式: function Show() 普通的 ---show是函數名 { } function Show($a) 有參數的 { } function Show() 有返回的 {return $a; } function Show($a=5) 有默認值的 { } function Show() 參數可變的 {func_get_args();獲取這個參數的數量或者內容 返回一個數組;通過獲取用戶傳入的參數; }8.常用的函數 隨機數的:rand(); rand(0,10); 日期時間:time(); 可以獲取當前日期時間戳 date(格式化字符串,時間戳); 格式化日期時間的 Y年份 m月份 d天 H24小制的小時 h12小時制的小時 i分鐘 s秒 strtotime(表示時間字符串); 將字符串轉化為時間戳9.其它 錯誤抑制符 @ 退出程序:exit(); exit; die("錯誤信息");二:字符串的常用方法 1.取字符串長度:strlen(); 2.拆分字符串:explode(); 3.合并字符串:implode(); 4.截取字符串:substr(); 5.替換字符串:str_replace(); 查找替換 substr_replace(); 指定位置替換 6.去空格:trim(); 7.轉大寫:strtoupper(); 8.轉小寫:strtolower(); 9.根據長度拆分:str_split();三:正則表達式 1.定界符:/ / 2.匹配開頭:^ 匹配結束 $ 3.\d 數字 \s 不可見字符 \w任意數字或單詞字符 +前面的表達式至少出現一次 {0,2}前面的表達式至少出現0次最多出現2次 [0,1,2]匹配里面的任意字符 [0-9] 匹配0-9之間的數字 [a-z]匹配a-z之間的單詞字符 ()優先級 |或4.拆分字符串:preg_split(); 5.替換字符串:preg_replace(); 6.匹配字符串中出現的(滿足正則)數據:preg_match() preg_match_all()四:數組 1.數組分類: 根據維度分:一維數組,多數組。 根據索引分:索引數組,關聯數組。2.數組定義: $attr = array(); 常見定義方式 $attr[] = 5; 賦值定義定義索引數組:$attr = array(1,2,3,4); 定義關聯數組:$attr = array("key"=>"value");3.索引數組取值:$attr[0];關聯數組取值:$attr["key"];4.遍歷數組: for循環,只能遍歷索引數組 for($i=0;$i<count($attr);$i++) {$attr[$i]; } foreach遍歷,可以遍歷索引和關聯數組 foreach($attr as $v) {$v; } foreach($attr as $k=>$v) {$v; }each()和list()方法結合 each():返回數組里面當前元素的key和value值,返回的是一個數組的形式 list():將右側數組的值分別賦給一組變量 list($a,$b) = $attr;指針遍歷 取當前指針指向的元素的值:current(); 取當前指針指向的元素的key:key(); 將指針指向下一個元素:next(); 將指針指向上一個元素:prev(); 重置指針:reset(); 將指針指向最后一個元素:end();5.數組的常用函數 取數組長度:count(); 向數組添加元素:array_push(); 判斷數組里面是否包含某個元素:in_array(); 合并數組:array_merge(); 去重復:array_unique(); 刪除數組元素:unset(); 重新索引:array_values(); 翻轉數組:array_reverse(); 數組元素排序:array_multisort();五:面向對象 OOP1.類和對象 類是由眾多對象抽象出來的 對象是類實例化出來的2.類的定義 class Ren { }成員變量 成員方法 構造函數 析構函數 __get() __set() __tostring()__clone() 3.訪問修飾符: public 共有的 private 私有的 protected 受保護的4.三大特性封裝:目的 做法 繼承:概念 特點 函數重寫多態:概念 條件5.靜態 static 靜態成員是屬于類的,普通成員是屬于對象的 Ren::Show();6.抽象類:abstract 不能被實例化 用作父類接口:interface 7.克隆對象 clone 8.構造函數 __construct()寫法特殊 執行時間特殊9.加載類include("");include "";require("");require "";require_once("");require_once "";自動加載類 __autoload()10.單列模式11.工廠模式六:數據訪問1.myqli $db = new mysqli(服務器,用戶名,密碼,數據庫); mysqli_connect_error(); $result = $db->query(SQL語句); $result->fetch_row(); 2.pdo $pdo = new PDO(DNS,用戶名,密碼); $stm = $pdo->prepare(SQL語句); $stm->excute(); $stm->fetch_row();?占位 :字符串 七:Jquery Ajax1.選擇器 $() 根據id選 $("#id") 返回一個jquery對象 從jquery對象里面取DOM對象 取索引0[0] 根據class選 $(".class") 根據屬性選 $("[name=a]") 根據標簽名選 $("div")2.操作內容 操作非表單元素文本 text();html代碼 html(); 操作表單元素:val();3.操作屬性 添加設置屬性 attr(屬性名,屬性值); 獲取屬性 attr(屬性名); 移除屬性 removeAttr(屬性名);4.操作樣式 獲取樣式 css(樣式名); 添加設置樣式 css(樣式名,樣式值);5.事件 $("#id").事件名(function(){}) $("#id").bind(事件名,function(){}); 綁定事件 $("#id").unbind(事件名); 移除事件6.Ajax async:異步 url:調用的處理頁面 data:傳遞的數據JSON格式 type:數據傳遞的方式 POST或GET dataType:返回數據類型 TEXT JSON XML success:回調函數 error:當調用出錯執行的方法7.JSON{key:value}XML必須有一個根有開始就要有結束大小寫敏感標簽名可以自定義可以加屬性八.會話控制SESSION存儲在服務器 有默認過期時間 每個用戶存一份 可以存儲任何類型數據必須開啟才能使用 session_start(); 必須寫在第一行$_SESSION["uid"] = "lisi";安全,占資源COOKIE存儲在客戶端 默認是沒有過期時間 每個用戶存一份 只能存儲字符串setcookie(名,值); 設置cookie$_COOKIE["uid"]; 讀取cookie不安全,不占資源九:文件1.文件上傳做文件上傳表單 enctype $_FILES數組取文件信息控制上傳格式和大小造存儲路徑(處理文件名) 改文件名 建文件夾判斷文件是否存在上傳保存 move_uploaded_file();轉編碼格式 iconv(原編碼,目標編碼,字符串);2.文件操作文件類型: filetype() is_file() is_dir()路徑: ./ ../ /遍歷目錄: glob(); 目錄資源新建目錄:mkdir();刪除目錄:rmdir();移動目錄:rename();新建文件:touch();刪除文件:unlink();復制文件:copy();獲取文件內容:file_get_contents();寫入內容:file_put_contents();文件資源打開文件資源:fopen();關閉文件資源:fclose();讀取文件內容:fgetc() fgets() fread() fwrite()
?