ホームページ  >  記事  >  バックエンド開発  >  PHPの基本機能のまとめ

PHPの基本機能のまとめ

不言
不言オリジナル
2018-04-28 16:29:181695ブラウズ

这篇文章介绍的内容是关于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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。