php 5.14,PHP2014.5.14的总结:

1:生成随机数

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;

}

原文:http://www.cnblogs.com/zouxueling/p/3728747.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值