搜索
首页后端开发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

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器