PHP常用基礎函數匯總(PHP筆面試復習必備)


PHP常用基礎函數匯總(PHP筆面試復習必備)

string函數庫

  • int strlen(string $str):返回給定字符串的長度
  • int strpos(string $str1,string $str2):計算$str2在$str1中首次出現的位置
  • string strstr(string $str1,string $str2):返回$str1中第一個$str2開始到最后的字符串(包含$str2),別名strchr()
  • string stristr:strstr()函數忽略大小寫的版本
  • int strrpos(string $str1,string $str2):計算$str2在$str1中最后一次出現的位置
  • string strrchr(string $str1,string $str2):返回$str1中最后一個$str2開始到最后的字符串(包含$str2)
  • array explode(string $delimiter,string $str):將$str以$delimiter為拆分標准拆分成多個字符串,並以一個數組返回
  • string implode(string $glue,array $arr):將$arr中的每個元素用$glue連接起來
  • string substr(string $str,int $start,[int $len]):返回$str中$start位置開始的長度為$len的字符串,如果$len沒有,則返回余下所有
  • string/array str_replace(string/array $search,string/array $replace,string/array $subject[,int &$count]):返回值類型取決於$subject類型,用$replace替換$subject中的$search
  • string strtoupper(string $str):將$str中的字母轉換成大寫
  • string strtolower(string $str):將$str中的字母轉化成小寫
  • string ucwords(string $str):將$str中的單詞首字母大寫
  • string ucfirst(string $str):將$str中的首字母大寫
  • string strrev(string $str):將$str反轉
  • string md5(string $str):計算$str的md5散列值,即加密
  • string sha1(string $str):計算$str的sha1散列值,即加密
  • string strip_tags(string $str):去除$str中html和php標簽,很有用
  • string rtrim(string $str[,string $character_mask='\t\n\r\0\x0B']):刪除$str末端的空白字符,通過第二個參數還可以指定刪除某些字符
  • string trim(string $str[,string $character_mask]='\t\n\r\0\x0B'):刪除$str首尾端的空白字符,通過第二個參數還可以指定刪除某些字符

日期時間函數庫

  • int time():返回當前的Unix時間戳(格林威治時間1970-01-01 00:00:00到當前時間的秒數)
  • string date(string $format[,int $timestamp=time()]):按照$format格式將時間戳轉化成字符串時間,通常格式是$format='Y-m-d H:i:s'
  • int strtotime(string $str[,int now=time()]):將任意英文格式的字符串時間轉變成時間戳
  • string/float microtime([bool $get_as_float]):返回當前時間的Unix時間戳和微秒數,沒有$get_as_float參數,則返回string '時間戳部分 微秒數部分',可以通過explode()函數分開進行計算時間戳部分和微秒數部分;如果有$get_as_float參數且為true,則返回float 時間戳.微秒數 ,則直接相減即可

array函數庫

  • int count(array/object $var[,int $mode=COUNT_NORMAL]):獲取數組的長度或對象的屬性個數,如果$mode為COUNT_RECURSIVE或1,則可以遞歸計算多維數組的元素個數
  • int/string array_search(mixed $needle,array $haystack[,bool $strict=false]):返回值類型取決於查找的數組$haystack是索引數組還是關聯數組。如果$strict為true,則不僅判斷值,還判斷類型,對於對象,必須是同一個實例!
  • bool array_key_exits(int/string $needle,array $haystack):判斷$needle是不是$haystack的鍵
  • array array_merge(array $arr1,array $arr2,...):將$arr2追加到$arr1后面形成一個新的數組。如果$arr2中有與$arr1中相同的字符串鍵,則$arr2中的該鍵對應的值會覆蓋$arr1中的該字符串鍵;如果$arr2中有與$arr1中相同的整型鍵,則$arr2中的該鍵對應的值不會覆蓋$arr1中該整形鍵,而是繼續按照整型鍵順序(比如說,$arr1中有兩個整型鍵0、1,$arr2中也有兩個整型鍵0、1,那么merge之后,$arr2中原來的兩個整型鍵就會變成2、3;再比如說,$arr1中沒有整型鍵,$arr2中有兩個整型鍵1、3,那么merge之后,$arr2中原來兩個整型鍵就會變成0、1)追加在后面
  • int array_unshift(array &$arr,mixed $val1[,mixed $val2,...]):在$arr頭中依次插入$valn、...、$val2、$val1,並重新排序整型鍵,字符串鍵不變,返回$arr新長度
  • int array_push(array &$arr,mixed $val1[,mixed $val2,...]):在$arr尾中依次插入$val1、$val2、...、$valn,返回$arr新長度。其實如果是在尾中插入元素,則可以直接$arr[]=$val
  • mixed array_pop(array &$arr):將$arr最后一個元素彈出,並返回彈出的那個元素值
  • mixed array_push(array &$arr):將$arr最前一個元素彈出,並返回彈出的那個元素值。且重新排序整型鍵,字符串鍵不變
  • array array_reverse(array $arr[,bool $preserve_keys=false]):將$arr反轉,默認整型鍵重新排序,字符串鍵不變,如果$preserve_keys=true,則整型鍵和字符串鍵都不變,並返回
  • array array_unique(array $arr[,boo $sort_flags=SORT_STRING]):去除$arr中重復的值。鍵名保留問題,兩個重復值有則不同鍵名,到底保留那個鍵名呢?並不是簡單的保留在前的,而是將 $arr中所有值按照字符串排序,然后取靠前的那個值的鍵!強調一遍,值都先轉成string類型的,再排序並比較是否相同,也就是所int 4與string '4'是同一個值!
  • void unset(mixed $val[,mixed $val...]):釋放給定的變量,注意unset只能釋放數組元素,而不能釋放一個數組
  • mixed end(array &$arr):將數組內部指針移動到最后一個元素上,並返回最后一個元素值
  • bool sort(array &$arr[,$sort_flags=SORT_REGULAR]):將數組排序(低到高),成功返回true,失敗返回false。排序之后數組統一用整型鍵排序
  • bool asort(array &$arr[,$sort_flags=SORT_REGULAR]):將數組排序(低到高),成功返回true,失敗返回false。排序之后數組鍵不變
  • bool arsort(array &$arr[,$sort_flags=SORT_REGULAR]):同asort,只不過是高到低
  • bool ksort(array &$arr[,$sort_flags=SORT_REGULAR]):按照鍵排序(低到高),排序之后數組鍵不變
  • bool ksort(array &$arr[,$sort_flags=SORT_REGULAR]):按照鍵排序(高到低),排序之后數組鍵不變
  • string serialize(mixed $val):將$val序列化,$val不能是資源類型的
  • mixed unserialize(string $val):將$val反序列化

數學函數庫

  • int/float abs(int/float $num):返回$num的絕對值
  • float round(float $num[,int $precision=0] [,int $mode]):對$num進行四舍五入,保留小數點后$precision位
  • float ceil(float $num):向上取整
  • float floor(float $num):向下取整
  • int/float/string max(int/float/string $val1,int/float/string $val2[,...]):返回最大值。如果只有一個參數,且為array,則返回該數組中元素值最大的那個元素。min()找出最小值
  • float sqrt(float $num):求$num平方根,$num為負返回NAN
  • int rand(int $min,int $max)/int rand(void):返回$min到$max之間的隨機整數/返回0到getrandmax()(在win上,為32767)之間的隨機整數。mt_rand()函數同理,效果更好

MySQL擴展函數庫[PHP5.5.0后廢棄]

  • resource mysql_connect([string $server[,string $username [,string $password[,bool $new_link [,int $client_flags]]]]]):打開一個新連接或者重復使用舊連接
  • resource mysql_query(string $sql[,resource $link_identifier=NULL]):發送一條sql語句
  • bool mysql_select_db(string $db_name[,resource $link_identifier]):選擇數據庫
  • bool mysql_free_result(resource $result):釋放結果集內存
  • bool mysql_close([resource $link_identifier=NULL]):關閉一個非持久mysql連接
  • int mysql_affected_rows([resource $link_identifier=NULL]):前一mysql操作所影響的記錄數
  • string mysql_client_enconding([resource $link_identifier=NULL]):返回MySQL服務器中character_set變量的值,即客戶端字符集
  • bool mysql_data_seek(resource $result,int $row_number):移動結果集中的指針
  • string mysql_error([resource $link_identifier]):返回一個mysql操作的錯誤信息
  • int mysql_insert_id([resource $link_identifier]):獲取上一步insert操作產生的id
  • int mysql_num_rows(resource $result):獲取結果集中的記錄數
  • int mysql_num_fields(resource $result):獲取結果集中的字段數
  • array mysql_fetch_array/row/assoc/object(resource $result):從結果集中取出一行
  • resource mysql_pconnect():打開mysql持久連接,mysql_close()無法關閉該連接

PDO擴展函數庫

PDO類

  • object(PDO) __construct(string $dsn[,string $username[,string $password[,array $driver_options]]]):創建一個表示連接請求的PDO實例
  • bool setAttribute(int $attribute,mixed $value):設置數據庫連接屬性。比如說$attribute=PDO::ATTR_CASE表示設置結果集下標大小寫,相應的值就是$value=PDO::CASE_LOWER(小寫)、$value=PDO::CASE_UPPER(大寫)、$value=PDO::CASE_NATURAL(自然)
  • object(PDOStatement) query(string $sql):執行一條sql語句,返回PDOStatement對象,通常是執行select語句
  • int exec(string $statement):執行一條SQL語句,並返回受影響的行數,通常執行insert、delete、update語句,query()方法用來執行select語句!
  • object(PDOStatement) prepare(string $statement[,array $driver_options=[]]):批量執行sql語句(不管是insert、delete、update、select),返回一個PDOStatement對象,然后用其execute()方法,執行$statement這條預處理sql語句(包含占位符?)

PDOStatement類

  • bool setFetchMode(int $mode):設置結果集模式,$mode的值有PDO::FETCH_ASSOC(關聯數組)、PDO::FETCH_NUM(索引數組)、PDO::FETCH_BOTH(混合數組)、PDO::FETCH_OBJ(匿名對象)
  • mixed fetch([int $fetch_style]):返回結果集中的某一個條記錄,$fethc就類似上面的$mode作用
  • mixed fetchAll([int $fetch_style]):返回包含結果集所有記錄形成的數組
  • int rowCount(void):返回上一個sql語句(insert、delete、update)所影響的記錄數
  • int execute([array,$input_parameters]):執行一條預處理語句

目錄/文件函數庫

目錄函數

  • resource opendir(string $path):打開$path目錄,返回一個資源句柄
  • string readdir(resource $dir_handler):返回$dir_handler中下一個文件的文件名
  • array scandir(string $path[,int $sorting_order]):遍歷$path中所有的子目錄(不遞歸)或文件,默認以字母升序排序,$sorting_order=1則降序
  • bool is_dir(string $filename):判斷文件名是否是一個目錄。注意,如果$filename是一個相對路徑,則相對當前路徑
  • string dirname(string $path):返回$path的目錄部分(去掉最后一個/及其后面的內容)。如果沒有/(單獨就一個文件),則返回.(表示當前目錄)。win中/和\都可以,Linux中只能是/表示路徑
  • bool mkdir(string $path[,int $mode=0777]):創建$path目錄。比如說,日期為目錄名,mkdir(date('Ymd'));
  • bool file_exists(string $filename):判斷$filename是否存在,$filename可以是目錄或文件
  • bool rename(string $oldname,string $newname):將$oldname重命名為$newname
  • bool rmdir(string $dirname):刪除$dirname。注意$dirname必須是空目錄
  • void closedir([resource $dir_handle]):關閉打開的目錄句柄

文件函數

  • bool is_file(string $filename):判斷$filename是否為一個正常的文件
  • resource fopen(string $filename,string $mode):打開一個本地文件或URL,$mode指定打開的模式。r只讀方式打開,文件指針指向文件頭;r+讀寫方式打開,文件指針指向文件頭;w寫入方式打開,文件指針指向文件頭,並將文件大小截為0,且如果文件不存在則嘗試創建之;w+讀寫方式打開,文件指針指向文件頭,並將文件大小截為0,且如果文件不存在則嘗試創建之;a寫入方式打開,文件指針指向文件尾,且文件不存在則嘗試創建之;a+讀寫方式打開,文件指針指向文件尾,且文件不存在則嘗試創建之。返回文件指針資源
  • int fwrite(resource $handle,string $content):$handle是fopen返回的文件指針資源,$content是要寫入的內容。返回寫入的字符數
  • bool fclose(resource $handle):關閉$handle
  • string fread(resource $handle,int $length):讀取$length個字節長度的字符停止。fread兩種情況下停止讀,一是讀取$length字節長度,二是讀到文件末尾EOF。返回讀取的字符串
  • string fgets(resource $handle):讀取$handle的一行
  • string fgetss(resource $handle):讀取$handle的一行,並過濾掉html和php標記
  • int filesize(string $filename):獲取$filename的大小
  • int file_put_contents(string $filename,string/resource/array $content[,int $flags=0]):等效於依次調用fopen()、fwrite()、fclose()方法,$flags=FILE_APPEND表示追加
  • string file_get_contents(string $filename):等效於依次調用fopen()、fread()、fclose()

圖形圖像函數庫

驗證碼原理:生成隨機串,存入session,並利用圖形圖像庫,將其描繪成圖像的形式輸出,用戶查看圖片辨別隨機串,輸入與session中的隨機串進行比對

  • resource imagecreatetruecolor(int $width,int $height):創建一個寬$width,高$height的黑色圖像。返回圖像資源$image。注意,必須按照GD庫,而且版本要高於2.0
  • int imagecolorallocate(resource $image,int $red_RGB,int $green_RGB,int $blue_RGB):給$image分配可以使用的顏色,RGB色,$red_RGB表示生成的顏色的紅色成分(0-255或0x00-0xff),$green_RGB和$blue_RGB同理。返回一個整型標識符,表示某種顏色
  • bool imagefilledrectangle(resource $image,int $x1,int $y1,int $x2,int $y2,int $color):在$image上畫一個矩形並用$color填充,($x1,$y1)表示該矩形的左上角坐標,($x2,$y2)表示該矩形的右下角坐標,$image的左上角為坐標原點
  • bool imageline(resource $image,int $x1,int $y1,int $x2,int $y2,int $color):在$image上畫一條$color色的線段。$color通常通過隨機分配的方式,即imagecolorallocate(resource $image,rand(0,255),rand(0,255),rand(0,255))。
  • bool imagesetpixel(resource $image,int $x,int $y,int $color):在$image上畫一個$color色的點
  • array imagettftext(resource $image,float $size,float $angle,int $x,int $y,int $color,string $fontfile,string $text):將UTF-8編碼的$text寫到$image上。返回包含該寫在$image上的文字信息,共有8個元素
  • bool imagestring(resource $image,int $font,int $x,int $y,string $text,int $color):水平畫一行字符串,相比imagettftext()要簡單得多,功能也弱些
  • bool imagegif/imagepng/imagejpeg(resource $image[,string $filename=NULL]):輸出$image到瀏覽器或寫入文件(指定$filename時)。如果輸出到瀏覽器,則通常要再前面通過header('Content-Type: image/gif');指定,且之前不能有任何字符輸出。
  • bool imagedestroy(resource $image):銷毀$image(回收$image所占的資源)
  • resource imagecreatefromjpeg/png/gif(string $filename):由文件或URL創建圖像
  • int imagesx(resource $image):獲取圖像的寬度
  • int imagesy(resource $image):獲取圖像的高度
  • bool imagecopyresampled(resource $dst_image,resource $src_image,int $dst_x,int $dst_y,int $src_x,int $src_y,int $dst_w,int $dst_h,int src_w,int $src_h):將$src_image中的一部分拷貝到$dst_image中
  • bool imagecopyresized(resource $dst_image,resource $src_image,int $dst_x,int $dst_y,int $src_x,int $src_y,int $dst_w,int $dst_h,int src_w,int $src_h):沒有imagecopyresampled()質量高

作者:TigerYangWTH
博客:http://www.fit-china.cn


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM