Home  >  Article  >  Backend Development  >  Summary of PHP basic functions

Summary of PHP basic functions

不言
不言Original
2018-04-28 16:29:181660browse

这篇文章介绍的内容是关于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()质量高

           


The above is the detailed content of Summary of PHP basic functions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn