zoukankan      html  css  js  c++  java
  • 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;   

        }

  • 相关阅读:
    广域网(ppp协议、HDLC协议)
    0120. Triangle (M)
    0589. N-ary Tree Preorder Traversal (E)
    0377. Combination Sum IV (M)
    1074. Number of Submatrices That Sum to Target (H)
    1209. Remove All Adjacent Duplicates in String II (M)
    0509. Fibonacci Number (E)
    0086. Partition List (M)
    0667. Beautiful Arrangement II (M)
    1302. Deepest Leaves Sum (M)
  • 原文地址:https://www.cnblogs.com/zouxueling/p/3728747.html
Copyright © 2011-2022 走看看