//PHP設置跨域 header("Access-Control-Allow-Origin:*"); //PHP設置JSON頭 以JSON格式輸出 header("Content-type:application/json; charset=utf-8"); //正則取字符串 preg_match_all('/字符串(.*?)字符串/i',$data,$out); // PHP把JSON對象轉字符串不轉碼輸出 json_encode($results, JSON_UNESCAPED_UNICODE); //PHP設置最大運行時間 0 是永久 set_time_limit(0); //PHP設置最大運行內存 1024M 是1G ini_set('memory_limit', '1024M'); //返回數組中元素的個數,可以理解爲返回數組的長度 count(); //獲取變量中的字符串值,可以理解爲把變量轉換成字符串類型 strval(); //查詢數組裏是否存在着指定的健名,返回true和false array_key_exists(鍵名,數組); //特殊字符轉換,可有效的防止xss注入 htmlspecialchars(addslashes(變量)); //清除字符串兩旁的空格 trim(); // 向文件追加寫入內容 // 使用 FILE_APPEND 標記,可以在文件末尾追加內容 // LOCK_EX 標記可以防止多人同時寫入 file_put_contents(文件路徑, 要寫入的內容, FILE_APPEND | LOCK_EX); //查詢數組裏是否存在該鍵值,存在返回該鍵值的鍵名,如果有多個匹配,那麼返回最先匹配到的鍵值的鍵名 //false代表不限類型,鍵值數據相同即可 //true代表完全匹配,要求數據類型和鍵值完全相同,默認爲false array_search("鍵值", 數組, false); //把變量轉換爲整數類型,如果有小數,則刪除小數,不執行四捨五入 //失敗或者變量爲空時返回0,否則返回1; intval(); //往數組尾部插入一個或多個元素 //返回新數組 array_push($a, "要插入的元素", "要插入的元素"); //把變量類型轉換爲字符串類型 //返回該字符串 strval(); // 查詢數組裏是否存在該鍵值,存在返回true,反之返回false //false代表不限類型,鍵值數據相同即可 //true代表完全匹配,要求數據類型和鍵值完全相同,默認爲false in_array('鍵值', 數組, false); //新建mysql服務器連接,可理解爲新建數據庫連接 $mysql = mysqli_connect("ip", "用戶名", "密碼", "數據庫", "端口(默認爲3306)"); //修改數據庫連接的字符集 mysqli_set_charset($mysql, "utf8"); //對數據庫進行sql操作 mysqli_query($mysql, sql語句); //返回結果集的中行的數量,可理解爲返回結果集的長度 mysqli_num_rows(); //從結果集中獲取一條數據,並作爲數組返回 mysqli_fetch_row(); //以切割符爲斷點切割字符串,組成數組並返回, //數組的數目也就是長度 //大於0,返回相對數值的數組,如1,返回的數組只有一個元素, 0也返回只有一個元素的數組 //小於0,從數組尾部開始,去除 (-x) 的絕對值個元素,返回 explode("分割符", 變量, 返回數組元素的數目); //把數組裏的元素打亂隨機排序 shuffle(); //截取保留結果集的第 n 條數據,其他刪除,並返回 //n爲0時截取第一條,爲1時截取第二條,以此類推,n爲-1時截取最後一條 mysqli_data_seek($xx, n); //將數組轉爲json格式 json_encode(); //將json格式轉爲數組對象 json_decode($xxx); //檢測變量是否爲數字,返回 true false is_numeric(變量); //將json格式轉爲數組 json_decode($xxx, true); //清除指定的變量 unset($a); //字符串替換指定值 //搜索$pic字符串裏的\符號,全部替換成/ str_replace("\\", "/", $pic); //設置時區 PRC爲中國時區 date_default_timezone_set("PRC"); //獲取當前時間 date('Y-m-d H:i:s', time()); //獲取當前0點的時間戳 strtotime(date("Y-m-d"), time()); //下個月現在的時間戳 strtotime('+1 month'); //獲取當前時間戳 time(); //獲取當前時間的微秒 microtime(); //把日期時間轉換成時間戳 strtotime(); //例:strtotime("2021-11-21 00:00:00"); //檢查變量是否存在 isset(); //檢查當前文件是否存在 file_exists(); //延遲下面的程序執行,1爲延遲一秒後再執行後面的程序 sleep(1); //創建目錄,並且設置最高權限 mkdir(目錄名稱, 0700, true); //創建一個0到100的隨機數 mt_rand(0, 100); rand(0,100); //根據需求創建一個數組如: range(0, 100); //結果 Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 ... [100] => 100 ); //首字母轉換爲大寫 ucwords(); //返回當前內存消耗量 memory_get_usage(); //獲取一個數組的全部鍵名 array_keys(數組); //獲取一個數組的全部健值 array_values(數組); //php引入php文件 require()、include()、require_once()、include_once() //require和include相同點:都是引入並執行文件 //require和include不同點: //require一般只會放在PHP腳本最前面進行使用,因爲它會先行執行文件,需等待require引入的文件執行完成方可繼續執行下去,如果require執行文件時出現錯誤,則會返回一個致命錯誤,並帶掉程序。 //include一般是放在腳本中間進行使用,因爲它不會先行執行,只會在用到的時候再執行加載,如果include引入的文件執行錯誤,不會帶掉程序,只會返回一個警告,然後程序繼續執行下去 //而require_once()和include_once()則跟require和include一樣,唯一多出的一點屬性就是:檢測文件是否已經加載過,如果已經加載過了,就不再進行加載了 //檢測ip是否合法 long2ip()和ip2long() //ip2long():把ip轉換成爲整形,如:2130706433,如果ip不是合法ip則返回空 //long2ip():把整形轉換爲ip,如果整形爲空則返回0.0.0.0 long2ip(ip2long("127.0.0.1")); //數組轉爲字符串 implode(",", 數組); //查看php設置 phpinfo(); public(公共的、默認) protected(受保護的)被聲明爲protected的成員,只允許該類的子類進行訪問。 private(私有的 ) 被定義爲private的成員,對於類內部所有成員都可見,沒有訪問限制。對類外部不允許訪問。 static 把方法設置成靜態方法 interface 定義接口 如 interface a { //抽象方法,裏面不添加任何數據及邏輯 public function b(); } abstract 可把當前類定義爲抽象類,抽象類時不能實例化的,等着被繼承 implements 實現接口,和extends不同的是,如果當前類裏面實現了這個接口a,但是類裏面沒有方法b,那麼就會報錯 extends 繼承類,使用過框架的都知道,他的作用就是繼承某個類,從而讓他更容易的調用裏面的方法 paremt::方法名 子類調用父類方法 //檢查擴展是否已加載 ,返回布爾值 extension_loaded() //加載圖片的基本信息,返回值爲數組 getimagesize() //輸出結果: array( [0] => 圖片寬度的像素值 [1] => 圖片高度的像素值 [2] => 圖片的類型,返回的是數字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM [3] => 圖片的寬高 [bits] => 圖片的每種顏色的位數,二進制格式 [mime] => 圖片的 MIME 信息,此信息可以用來在 HTTP Content - type 頭信息中發送正確的信息,如: header("Content-type: image/jpeg"); ) //獲取圖片後綴 注:當獲取的圖片後綴爲jpg的時候,將會輸出jpeg,當false爲true時則輸出.png image_type_to_extension(getimagesize('./01.png')[2], false); //創建畫板,默認背景顏色爲黑色 imagecreatetruecolor(寬,高); //給畫板設置背景顏色 imagecolorallocate(imagecreatetruecolor(寬,高), 255, 255, 255); //壓縮 imagecopyresampled(畫板,圖片,畫板X座標點,畫板y座標點,圖片x座標點,圖片y座標點,要壓縮到多寬,要壓縮到多高,圖片的寬,圖片的高); //銷燬圖像資源 imagedestroy(); //合併圖片,把圖片2放到圖片1裏面 imagecopymerge(圖片1,圖片2,圖片1x座標點,圖片2y座標點,圖片1x座標點,圖片2y座標點,圖片2的寬,圖片2的高,透明度); //設置字體的顏色 imagecolorallocatealpha(圖片或者畫板,rgb顏色1,rgb顏色2,rgb顏色3,透明度); //在圖片或者畫板裏設置水印 imagettftext(畫板或者圖片, 字體大小, 字體傾斜度, 字體的x座標, 字體的y座標, 字體的顏色imagecolorallocatealpha(), 字體文件如:'STHUPO.TTF', 要輸出的文字);