搜尋
首頁後端開發php教程PHP基礎函數總結

PHP基礎函數總結

Apr 28, 2018 pm 04:29 PM
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中的
$searchstring 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[]=$valmixed 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为负返回
NANint 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操作产生的
idint 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重命名为$newnamebool 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):关闭$handlestring 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()质量高

           


以上是PHP基礎函數總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
哪些常見問題會導致PHP會話失敗?哪些常見問題會導致PHP會話失敗?Apr 25, 2025 am 12:16 AM

PHPSession失效的原因包括配置錯誤、Cookie問題和Session過期。 1.配置錯誤:檢查並設置正確的session.save_path。 2.Cookie問題:確保Cookie設置正確。 3.Session過期:調整session.gc_maxlifetime值以延長會話時間。

您如何在PHP中調試與會話相關的問題?您如何在PHP中調試與會話相關的問題?Apr 25, 2025 am 12:12 AM

在PHP中調試會話問題的方法包括:1.檢查會話是否正確啟動;2.驗證會話ID的傳遞;3.檢查會話數據的存儲和讀取;4.查看服務器配置。通過輸出會話ID和數據、查看會話文件內容等方法,可以有效診斷和解決會話相關的問題。

如果session_start()被多次調用會發生什麼?如果session_start()被多次調用會發生什麼?Apr 25, 2025 am 12:06 AM

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

您如何在PHP中配置會話壽命?您如何在PHP中配置會話壽命?Apr 25, 2025 am 12:05 AM

在PHP中配置會話生命週期可以通過設置session.gc_maxlifetime和session.cookie_lifetime來實現。 1)session.gc_maxlifetime控制服務器端會話數據的存活時間,2)session.cookie_lifetime控制客戶端cookie的生命週期,設置為0時cookie在瀏覽器關閉時過期。

使用數據庫存儲會話的優點是什麼?使用數據庫存儲會話的優點是什麼?Apr 24, 2025 am 12:16 AM

使用數據庫存儲會話的主要優勢包括持久性、可擴展性和安全性。 1.持久性:即使服務器重啟,會話數據也能保持不變。 2.可擴展性:適用於分佈式系統,確保會話數據在多服務器間同步。 3.安全性:數據庫提供加密存儲,保護敏感信息。

您如何在PHP中實現自定義會話處理?您如何在PHP中實現自定義會話處理?Apr 24, 2025 am 12:16 AM

在PHP中實現自定義會話處理可以通過實現SessionHandlerInterface接口來完成。具體步驟包括:1)創建實現SessionHandlerInterface的類,如CustomSessionHandler;2)重寫接口中的方法(如open,close,read,write,destroy,gc)來定義會話數據的生命週期和存儲方式;3)在PHP腳本中註冊自定義會話處理器並啟動會話。這樣可以將數據存儲在MySQL、Redis等介質中,提升性能、安全性和可擴展性。

什麼是會話ID?什麼是會話ID?Apr 24, 2025 am 12:13 AM

SessionID是網絡應用程序中用來跟踪用戶會話狀態的機制。 1.它是一個隨機生成的字符串,用於在用戶與服務器之間的多次交互中保持用戶的身份信息。 2.服務器生成並通過cookie或URL參數發送給客戶端,幫助在用戶的多次請求中識別和關聯這些請求。 3.生成通常使用隨機算法保證唯一性和不可預測性。 4.在實際開發中,可以使用內存數據庫如Redis來存儲session數據,提升性能和安全性。

您如何在無狀態環境(例如API)中處理會議?您如何在無狀態環境(例如API)中處理會議?Apr 24, 2025 am 12:12 AM

在無狀態環境如API中管理會話可以通過使用JWT或cookies來實現。 1.JWT適合無狀態和可擴展性,但大數據時體積大。 2.Cookies更傳統且易實現,但需謹慎配置以確保安全性。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器