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;   

        }

  • 相关阅读:
    中国的网游,发人深省
    .NET开源Bug管理软件BugTracker.NET使用小记
    开源的学术论文排版软件TeX简介
    在sqlplus中批量执行sql命令
    DotNetBar中ExpandableSplitter使用技巧
    上传一很酷的黑色背景.vssettings文件
    瑞雪兆丰年2008年的第一场雪
    Oracle用Start with...Connect By子句递归查询
    【转载】Making new features with topology tools(ArcInfo and ArcEditor only)
    Geoprocess Execute出错原因?Vb+AE9.2
  • 原文地址:https://www.cnblogs.com/zouxueling/p/3728747.html
Copyright © 2011-2022 走看看