这篇文章介绍的内容是关于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中文网其他相关文章!

PHPSession失效的原因包括配置错误、Cookie问题和Session过期。1.配置错误:检查并设置正确的session.save_path。2.Cookie问题:确保Cookie设置正确。3.Session过期:调整session.gc_maxlifetime值以延长会话时间。

在PHP中调试会话问题的方法包括:1.检查会话是否正确启动;2.验证会话ID的传递;3.检查会话数据的存储和读取;4.查看服务器配置。通过输出会话ID和数据、查看会话文件内容等方法,可以有效诊断和解决会话相关的问题。

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

在PHP中配置会话生命周期可以通过设置session.gc_maxlifetime和session.cookie_lifetime来实现。1)session.gc_maxlifetime控制服务器端会话数据的存活时间,2)session.cookie_lifetime控制客户端cookie的生命周期,设置为0时cookie在浏览器关闭时过期。

使用数据库存储会话的主要优势包括持久性、可扩展性和安全性。1.持久性:即使服务器重启,会话数据也能保持不变。2.可扩展性:适用于分布式系统,确保会话数据在多服务器间同步。3.安全性:数据库提供加密存储,保护敏感信息。

在PHP中实现自定义会话处理可以通过实现SessionHandlerInterface接口来完成。具体步骤包括:1)创建实现SessionHandlerInterface的类,如CustomSessionHandler;2)重写接口中的方法(如open,close,read,write,destroy,gc)来定义会话数据的生命周期和存储方式;3)在PHP脚本中注册自定义会话处理器并启动会话。这样可以将数据存储在MySQL、Redis等介质中,提升性能、安全性和可扩展性。

SessionID是网络应用程序中用来跟踪用户会话状态的机制。1.它是一个随机生成的字符串,用于在用户与服务器之间的多次交互中保持用户的身份信息。2.服务器生成并通过cookie或URL参数发送给客户端,帮助在用户的多次请求中识别和关联这些请求。3.生成通常使用随机算法保证唯一性和不可预测性。4.在实际开发中,可以使用内存数据库如Redis来存储session数据,提升性能和安全性。

在无状态环境如API中管理会话可以通过使用JWT或cookies来实现。1.JWT适合无状态和可扩展性,但大数据时体积大。2.Cookies更传统且易实现,但需谨慎配置以确保安全性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

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

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

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

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器