PHP2014.5.14的总结:

1:生成随机数

    <?php

       session_start();

       //生成4个随机数

      $arr = array(

      "A","B","C","D","E","F","G","H","J","K","L","M",

       "N","P","Q","R","S","T","U","V","W","X","Y","Z",

         "0",
"1","2","3","4","5","6","7","8","9");

       $rand="";

           for($i=0;$i<4;$i++){

           $rand .=
$arr[rand(0,count($arr)-1)];  //生成随机数

         }

         $_SESSION[‘check_pic‘] = $rand;

         //生成图片:imagecreatetruecolor(创建一张增彩色图片)

         $img=imagecreatetruecolor(100,30);

         //生产颜色:

          (1):当第一次调用生成颜色的方法,是生成背景颜色,默认是黑色

           //如果想自定义颜色,就要用到imagefill函数

             $bg=imagecolorallocate($img,189,196,220);

             imagefill($img,0,0,$bg);

          (2):第二次调用这个方法,是可以生成图片上面的文字或者其他样式的颜色

          
  $te=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));

            
$te2=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));

            $te3=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));

        //在图片上面生成文字:(第一个值是图片,第二个值是字体的大小,第三个值是横坐标,第四一个值是纵坐标,第五一个值是生成的字,第六一个值是颜色)

          // imagestring($img,rand(5,10),rand(3,70),rand(3,15),$rand,$te);

             $posX =rand(6,45);

                  for($i=0;$i<4;$i++){

                   $posY=rand(2,15);

                    //substr:返回字符串的子串

                   
imagestring($img,rand(2,5),$posX,$posY,substr($rand,$i,1),$te);

                    $posX+=rand(8,25);

            }

        //生成干扰线,就是画线

           $posLineX1=rand(6,30);

            $posLineX2=rand(30,60);

         //画4条线

          for($i=0;$i<5;$i++){

              $posLineY1=rand(2,10);

               $posLineY2=rand(11,28);

      //生成干扰线(第一个值是图片,第二个值是开始的横坐标,第三个值是开始的的坐标,第四个值是结束的横坐标,第五个值是结束的纵坐标,第六一个值是颜色)
                   
imageline($img,$posLineX1,$posLineY1,$posLineX2,$posLineY2,$te2);

                 $posLineX1+=rand(30,60);

             $posLineX2 +=rand(61,98);

    }

      //生成点

            for($i=0;$i<50;$i++){

            //生成点(第一个值是图片,第二个值是随机在横坐标生成点,第三个值是随机在纵坐标生成点,第四一个值是颜色)

            imagesetpixel($img,rand(2,100),rand(0,50),$te3);
    }

              //要把php当成图片输出,必须给文件一个头申明

              header("Content-type:image/jpeg");

              //最终生成图片

            imagejpeg($img);

         ?>

  2:定义常量(两种)
       (1):define():随便定义在哪里
       (2):const():只能定义在最前面

  3:想在函数里用全局变量必须用global申明一下
      例:$conn
= ""; //全局变量
          function
get_conn(){
             
global $conn;
              $conn =
mysql_connect(HOST,USER,PWD) or
die(mysql_error());
             
mysql_select_db("bbs",$conn);
              mysql_query("set
names ‘utf8‘");
      }

  4:调用函数(两种方法):
       (1):require_once("function.php");
         
(2):include("mysql.php");

  5:函数的参数不只有一个可以有多个

  6:explode():把字符串分割成数组;
 

   implode():把数组分割成字符串

      例:$arr = array(1,2,3,4,5);

        $str = "1982-4-2";

          test1($str,$arr);

        function test1($str1="",$str2=array()){

         //把数组分割成字符串 implode

         //下个这个方法的意思是:$str2应该是个数组

         //然后把这个数组按照逗号来分割组成一个新的字符串

        $s1 = implode(",",$str2);

          //    echo $s1;

        //把字符串分割成数组 explode

        //这个函数的意思就是:首先$str1是一个字符串,这个字符串是按照一个规格组装出来的

          //这个规格就是必须符合前面第一个参数的样式

        $s2 = explode("-",$str1);

          print_r($s2);

       }

   7:函数的参数默认值

     例:test2("test");

       //函数的默认值

    function test2($db="bbs"){

     $conn = mysql_connect(HOST,USER,PWD) or die(mysql_error());

         mysql_select_db($db,$conn);

     mysql_query("set names ‘utf8‘");

   }

  8:vsprintf():把一个数组格式化字符串,可以用你自己想用的格式化
     
例:$arr=[1,2,3];
        
echo vsprintf("%d-%d-%02d",$arr);

  9:调用自己的时间格式化方法
 
    例:function formatDateTime($date){
         $arr =
explode("-",$date);
         $str =
vsprintf("%04d-%02d-%02d",$arr);
         return
$str;
        }
       $time =
formatDateTime("99-8-8");
      echo $time;

  10: func_num_args():获取传过来的数量
   

       
func_get_args():获取所有传入的参数,返回的是一个数组

      例:  //获取函数全部参数

          test4("select * from users where userName=?","pangpang");

        //获取传过来的所有参数  function test4(){

       //获取传过来参数的数量

        $num =
func_num_args();

         echo $num;

    //获取所有传入的参数,返回的是一个数组

      $arr = func_get_args();

       var_dump($arr);

    }

  11:str_replace:替换
  

      例:  function mysql_ping(){

      //获取传入的所有参数的数组

       $arr = func_get_args();

        //获取第一个参数,在我们这个列子里面,第一个参数其实就是sql语句

      $sql = $arr[0];

       //传入的sql语句,其实开始是用?替代的变量的位置

      //这里需要将变量转化为可以替换格式化字符串的‘%s‘这样的符号

       $sql = str_replace("?","‘%s‘",$sql);

       //array_shift,是将数组最开始的元素移出。返回移出的值,然后数组剩下其余的部分

      $values = array_shift($arr);

     $sql =
vsprintf($sql,$arr);

  echo
$sql;

    }

PHP2014.5.14的总结:,布布扣,bubuko.com

时间: 2024-12-26 08:08:33

PHP2014.5.14的总结:的相关文章

CentOS安装glibc-2.14

到http://ftp.gnu.org/gnu/glibc/下载glibc-2.14.tar.xz tar glibc-2.14.tar.gz cd glibc-2.14 mkdir build cd build ../configure --prefix=/usr/local/glibc-2.14 make -j4 su xxxx make install 看看现在libc.so.6在哪个位置,然后修改软链接 ln -s /usr/local/glibc-2.14/lib/libc-2.14.

14:Challenge 7(map大法好)

总时间限制:  10000ms 单个测试点时间限制:  1000ms 内存限制:  262144kB 描述 给一个长为N的数列,有M次操作,每次操作是以下两种之一: (1)修改数列中的一个数 (2)求数列中某个值出现了多少次 输入 第一行两个正整数N和M.第二行N的整数表示这个数列.接下来M行,每行开头是一个字符,若该字符为'M',则表示一个修改操作,接下来两个整数x和y,表示把x位置的值修改为y:若该字符为'Q',则表示一个询问操作,接下来一次整数x,表示求x这个值出现了多少次. 输出 对每一

14. 流、文件和IO

前言 InputStream/OutStream流用来处理设备之间的数据传输 Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类型.对象.本地化字符集等等. 一个流可以理解为一个数据的序列.输入流表示从一个源读取数据,输出流表示向一个目标写数据. 流按操作数据分为两种:字节流与字符流 按流向分为:输入流(InputStream)和输出流(OutputStream) Java 为 I/O 提供了强大的而

【Spark深入学习 -14】Spark应用经验与程序调优

----本节内容------- 1.遗留问题解答 2.Spark调优初体验 2.1 利用WebUI分析程序瓶颈 2.2 设置合适的资源 2.3 调整任务的并发度 2.4 修改存储格式 3.Spark调优经验 3.1 Spark原理及调优工具 3.2 运行环境优化 3.2.1 防止不必要的分发 3.2.2 提高数据本地性 3.2.3 存储格式选择 3.2.4 选择高配机器 3.3 优化操作符 3.3.1 过滤操作导致多小任务 3.3.2 降低单条记录开销 3.3.3 处理数据倾斜或者任务倾斜 3.

fail2ban-0.8.14 shell自动部署脚本

#!/bin/bash #fail2ban-0.8.14.tar.gz #python > 2.4V #user:root tar  -zxf fail2ban-0.8.14.tar.gz cd /root/fail2ban-0.8.14/ python setup.py install  cp /root/fail2ban-0.8.14/files/redhat-initd /etc/init.d/fail2ban chkconfig --add fail2ban sleep 1 rm -rf

Linux内核编译 Ubuntu 14.04.3 server 升级至3.19.8

读书笔记:<Linux内核设计与实现>,原书第3版,陈莉君 康华 译 第2章:从内核出发     2.3节:编译内核 实验: ============================================================ 系统环境:VM虚拟机 Ubuntu 14.04.3 LTS server版 任务:编译安装新的内核 注意:不要跨大版本,我在3.19版本内 耗时:2小时 所有版本的内核: https://www.kernel.org/pub/linux/kernel

[JS]笔记14之事件委托

-->什么是事件委托-->事件委托原理-->事件委托优点-->事件源 / 目标源 一.什么是事件委托 通俗的讲,onclick,onmouseover,onmouseout等这些就是事件 委托,就是这个事件本来应该加在某些元素上的,而你却加到其他元素上来完成这个事件. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> &

用python实现计算1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))类似的公式计算

作业需求: 开发一个简单的python计算器 1.实现加减乘除及拓号优先级解析 2.用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致 上图是实现的逻辑思路图,下面是对上图的分析: 整体的思想就是先匹配最

4.26日第14次作业,23章项目整体绩效评估,24-32章信息安全相关知识

一.23章:项目整体绩效评估 1.三E审计是什么的合称?(记)P524 答:三E审计是经济审计.效率审计和效果审计的合称,因为三者的第一个英文字母均为E,顾称为三E审计. 2.霍尔三维结构是从哪三个方面考察系统工程的工作过程的?P527-528 答:霍尔三维结构是霍尔(A Hall)提出的关于系统方法论的结构,它从逻辑.时间.知识三方面考察系统工程的工作过程. 3.投资回收期的公式?(记,并理解)P533答:投资回收期的公式:(累计净现金流量出现正值的年份-1) + (上年累计净现金流量值的绝对