建議收藏:PHP常用函數

//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', 要輸出的文字);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章