PHP知识整理三

PHP函数

自定义函数

    可重复执行的代码段

   function 函数名(参数,....){

       return 返回值;

    }

    函数可以带有0个或多个参数,参数之间用逗号连接,参数的数据类型可以是任意。

    一般情况下,必须参数在前面,可选参数(有默认值的参数)在后面

    返回值:函数可以存在返回值,默认返回值是null;返回值类型可以为任意,

    return将终止函数的执行

    形参和实参:

    形参是在定义函数的时候定义的。实参是在调用函数的时候传递的。

    函数的参数传递:

    默认值传递:在定义形参的时候,给定默认值

    按值传递:将实参的值赋值给形参,在函数内部的操作是对形参进行的,操作完成后,不会影响到实参

    引用传递:将实参的内存地址传递给形参,在函数内部的操作会影响到实参的值,在传值的时候,前面加上&

   

变量函数

    函数的调用是通过变量的值来实现的。通过在变量后面加上一对小括号来调用(PHP会自动搜索与变量名相同的函数,并且执行)

 

递归函数

    函数调用自身

   function fun1(){

       fun1();

    }

PHP中的函数库:基础函数库

自定义函数的函数库:

   func_get_args();//返回函数的参数所组成的数组

   func_num_args()//返回函数的参数的数量

   function_exists()//检测函数是否定义过(存在),返回值布尔类型

   *call_user_func($func_name,$argments):

    *call_user_method($method_name,$obj,$argments)

   func_get_arg($num)//返回函数的某个参数的值

 

字符函数库:

   trim():用于去除字符串首尾的空白字符,并返回处理后的字符串

   ltrim():

   rtrim()

   str_shuffle():随机打乱字符串

   substr():截取字符

       substr($str,$start,$length)

          第一个参数:要操作的字符串

          第二个参数:起始位置,默认从0开始,可以为负数(从后往前(-1)计数)

          第三个参数:截取长度,默认截取到结束位置,可以为负数(从后往前计数),截取的是起始位置到计数位置之间(不包含)的字符串

   #strip_tags():去掉HTML和PHP标记

    strlen($str):返回字符串的长度

    strtoupper()

    strtolower()

    ucfirst():首字母大写

    ucwords():单词首字母大写

     str_replace($need,$replace,$str):字符替换,区分大小写

    str_ireplace():不区分大小写的替换

    strpos($str,$need):返回字符串在另外一个字符串中第一次出现的位置,区分大小写

    stripos():不区分大小写

    strrpos():返回字符串在另外一个字符串中最后一次出现的位置,区分大小写

    strripos():不区分大小写

    strrev():字符串反转

    str_split():字符串转换成数组

    #addslashes():对字符串中的特殊字符进行转义

    #stripslashes():对转义后的字符串进行反转义

    #htmlspecialchars($str):字符串中的特殊字符转成HTML实体

    #strstr()

    #strchr()

    mb_substr($str,$start,$length,$code)//中文截取,$code是编码方式

数学函数库:

   ceil($num)

   floor()

    min()

    max()

   pow($base,$exp)

    sqrt()

   round($num,$length):

   rand($min,$max):产生随机数

   mt_rand($min,$max):产生更好的随机数

   

   md5():md5加密

   sha1():

   base64_encode()

   base64_decode()

   

   number_format():字符串的格式化

       number_format($num):格式化后会四舍五入小数点后的值,且每一千以(,)分隔

       number_format($num,$decimal_places):格式化后会到小数点后第几位,且每一千以(,)分隔

       number_format($num,$decimal_places,$dec_replace,$douhao_replace)

       $dec_replace用来替换小数点(.);$douhao_replace用来替换逗号(,)

       

数组函数库

   count($arr):返回数组的成员数量//sizeof()

   foreach(){}

   explode($limiter,$str):字符串转换成数组

   implode($glue,$arr):数组转换成字符串

   array_search($need,$arr):在数组中查找给定的值,找到的话返回其下标,否则返回false

   array_pop():删除数组中最后一个元素(尾部删除),返回值是被删除的元素

   array_push($arr,$value):数组尾部追加新的元素,返回值是新的数组的长度

   array_shift():头部删除

   array_unshift():头部追加

   array_unique():数组去重

   array_keys($arr):返回一个由原来数组的下标(键名)组成的数组

   array_values($arr):返回一个由原来数组的键值组成的数组

   array_reverse():数组反转

   array_merge($arr,$arr1);数组合并

   array_combine($keys,$values);创建一个数组,用一个数组的值作为键名,另外一个数组的值作为键值。操作的这2个数组长度一定要一致

   array_diff($arr1,$arr2):对比返回在arr1中但是不在arr2中的值

   array_key_exists($key,$arr)

   array_rand($arr):从数组中取出一个或多个随机的元素,并且返回随机元素的一个或多个的键名(下标)

   array_splice():

    join()

   in_array($need,$arr):检测指定的值是否在数组中出现过,返回值是布尔类型

 

   reset($arr):数组内部指针重置

   next($arr):数组内部指针向下移动一个

   prev($arr):数组内部指针向上移动一个

   end($arr):数组内部指针移动到最后一个

   current($arr):返回当前指针

 

日期时间函数库

   date_default_timezone_get()//获取默认时区

   date_default_timezone_set($string)//设置默认时区 Asia/Chongqing Aisa/Shanghai

   time():获取当前的unix时间戳;返回值是从unix纪元(格林威治时间1970.1.1零点)到当前时间的秒数

   date($format,$time):格式化时间戳,返回值是当前的日期和时间

       $format定义:常用格式

           Y:四位年

           y:两位年

           m:两位月

           n:一位月

           d:两位日期

            j:一位日期

           H:两位的小时

           i:两位分

           s:两位秒

           w:每个星期的第几天,0-6,0为星期日

   strtotime($date);将时间解析成时间戳

   microtime():获取毫米级别的时间戳,

练习:

1.实现0-9纯数字加解密

2.实现如何获取一个文件的后缀名?

3.写一个新闻数组?(包含3条新闻,每条新闻有标题,简介,作者,时间,点击量)

4.$str = "conTRoller_FUnCtion_zeND"?通过程序格式化成Controller_Function_Zend

   

   

PHP高级函数库

1.会话控制(会话变量)

    COOKIE,SESSION

   COOKIE:是一种在远程浏览器端存储数据并以此来跟踪和识别用户(信息)的机制。

    特点:在服务器端创建,在浏览器端保存;跨页面访问;不安全

    作用:记录用户的操作信息;在页面之间传递变量(数据);可以提高执行效率(用户浏览速度)

   

    创建:setcookie($name,$value,$expire,$path,$domain,$safe)

    name:变量名

    value:变量的值

   expire:过期时间,单位是秒,是标准的unix纪元时间标记;time()+3600

           如果没有指定过期时间,那么当浏览器关闭时,自动过期(失效)

    path:服务器上能够接收会话变量的目录路径;默认是当前路径;一般用根路径(/)

   domain:有效的域名(www.xiaobai.com,user.xiaobai.com,pay.xiaobai.com),设置成xiaobai.com

    safe:是否通过安全链接;0普通链接(http),1安全链接(https)

   

    访问(读取):

   $_COOKIE['变量名']

   

    删除:不能用unset($_COOKIE['变量名']);

   setcookie($name,'',time()-3600,$path,$domain,$safe)

   

    注意:浏览器最多存储300个cookie文件,每个文件大小都有限制,每个域名下面最多有限制(20个);达到限制时,浏览器会自动随机删除。

   

   SESSION:把数据存到session文件中,保存在服务器端;文件的名称保存在cookie中

    特点:在服务器端创建,在服务器端保存,跨页面访问,安全。

   php.ini中相应的配置:

    session.save_path = '';//指定文件的存放目录

    session.cookie_lifetime = 0;//关闭浏览器,cookie失效

     session.gc_maxlifetime= 1440;//最大有效期

   

    创建:

   session_start();//开启session

   $_SESSION['变量名'] = 值;

   session_id();//获取session的id值

   session_id($value);//设置值

    访问:

   session_start();

   $_SESSION['变量名']

    删除:

   session_start();

    unset($_SESSION['变量名']);释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的sessionid

    session_destory();删除当前用户对应的session文件以及释放sessionid,内存中的$_SESSION变量内容依然保留

 

 

2.GD函数库(处理图片)

   php.ini配置文件中开启gd2: extenstion=php_gd2.dll

   

    在处理图片的php文件中,顶部要加入:

   header('content-type:image/png');

   

    创建画布:

    $image= imagecreate($width,$height);//返回值是一个resource

    $image= imagecreatetruecolor($width,$height);

    $color= imagecolorallocate($image,$red,$green,$blue);//产生颜色0-255

   imagefill($image,$x,$y,$color)

    生成图片:

   imagepng($image,$filename)

   imagejpeg()

   imagegif()

   

    从已存在的图片创建一个画布:

   imagecreatefrompng($filename)

   imagecreatefromjpeg($filename)

   imagecreatefromgif($filename)

   

   imagechar($image,$font,$x,$y,$c,$color)//写英文(单个字符,横着书写)

          图片资源,大小,X轴坐标,Y轴坐标,字符,颜色

   imagecharup($image,$font,$x,$y,$c,$color)//写英文,竖着书写,单个字符

   imagestring($image,$font,$x,$y,$string,$color)//写多个字符,横着书写

   imagestringup($image,$font,$x,$y,$string,$color)//多个字符,竖着书写

   imagefttext($image,$size,$angle,$x,$y,$color,$fontfile,$text)

              倾斜角度             字体文件的路径

   imagesetpixel($image,$x,$y,$color)//画点

   imageline($image,$x1,$y1,$x2,$y2,$color)//画线

   imagerectangle($image, $x1, $y1, $x2, $y2, $color)//画矩形,不填充

               左上角坐标,右下角坐标

   imagefilledrectangle($image, $x1, $y1, $x2, $y2, $color)//画矩形,填充

   imageellipse($image, $cx, $cy, $width, $height, $color)//画圆,不填充

                 圆心坐标,水平直径,垂直直径

   imagefilledellipse($image, $cx, $cy, $width, $height, $color)//画圆,填充

   

   imagearc($image, $cx, $cy, $width, $height, $start, $end, $color)//画圆弧(扇形)

                                                                                                                                                   起始弧度,结束弧度

   imagefilledarc($image, $cx, $cy, $width, $height, $start, $end, $color,$style)//换圆弧,填充

             $style:填充类型

             0:填充为扇形,1:填充三角形,2:显示两点间的圆弧,3:显示两点间的斜线

   imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w,$src_h)//拷贝

目标图片,被拷贝的图片,放到目标图片的起始位置的坐标,从被拷贝的图片的什么位置开始拷贝,拷贝的宽高

   imagecopyresized($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y,$dst_w, $dst_h, $src_w, $src_h)//缩略

         目标图片,被拷贝的图片,放到目标图片的起始位置的坐标,从被拷贝的图片的什么位置开始拷贝,目标图片的宽高,拷贝的宽高

    $arr =getimagesize($filename)//获取图片的基本信息(类型,宽,高)

       $arr['mime']:type类型

       $arr[0]:宽

       $arr[1]:高

       

练习:1.将image文件夹中的图片缩略成200*200的图片

    2.产生一个6位随机验证码(加入干扰元素),每个字符带倾斜角度(不一样),颜色随机

   

   

PHP复习

变量的定义

数据类型

数据转换

运算符

语句

自定义函数

PHP中基础函数库

PHP中高级函数库

1.会话控制

   COOKIE,SESSION

2.GD库

3.文件及目录操作

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值