关于验证码的完善:

//生成干扰线
$posLineX1 = rand(12,50);
$posLineX2 = rand(50,110);
$posX = rand(10,50);
for($i=0;$i<5;$i++){
$posLineY1 = rand(2,10);
$posLineY2 = rand(10,30);
imageline($im,$posLineX1,$posLineY1,$posLineX2,$posLineY2,$two2);
$posLineX1 += rand(9,40);
$posLineX2 += rand(45,100);
} //生成点点
for($i=0;$i<100;$i++){
$two3 = imagecolorallocate($im,rand(0,239),rand(0,239),rand(0,239));
imagesetpixel($im, rand(7,150), rand(7,70),$two3);
} //文字位置不一样
$posX = rand(10,50);
for($i=0;$i<5;$i++){
$posY = rand(10,50);
imagestring($im,rand(3,5),$posX,$posY,substr($rand,$i,1),$two);
$posX += rand(8,30);
}

 

关于函数:

函数的作用是重复和调用;

<?php
function result(){
echo "hello!kitty";
}
?> <!--如果要调用result,直接用result();结果输出hello!kitty-->

 

定义常量我们经常用:const和define,const只可放在代码的最上面。

在函数里面用全局变量,要用global声明:

$conn = "";

function close(){
global $conn;
mysql_close($conn);
}

 

include("dbhelper.php");等同于require_once("function.php");

 

explode

 array explode(string $delimiter,string $string [,int $limit]);

此函数返回有字符串组成的数组,每个元素都是string的一个子串,它们被字符串delimiter作为界点分割出来;

delimiter:边界上的分隔字符。
string:输入的字符串。
limit:如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。

如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。

如果 limit 是 0,则会被当做 1。

 

 <?php
// 示例 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6" ;
$pieces = explode ( " " , $pizza );
echo $pieces [ 0 ]; // piece1
echo $pieces [ 1 ]; // piece2 // 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh" ;
list( $user , $pass , $uid , $gid , $gecos , $home , $shell ) = explode ( ":" , $data );
echo $user ; // foo
echo $pass ; // * ?>

implode: 将一个一维数组的值转化为字符串

string implode ( string $glue , array $pieces )
string implode ( array $pieces )
glue 将一维数组的值连接为一个字符串。
glue:默认为空的字符串。
pieces:你想要转换的数组。 
//例子
<?php
$a1 = array("1","2","3");
$a2 = array("a");
$a3 = array(); echo "a1 is: '".implode("','",$a1)."'<br>";
echo "a2 is: '".implode("','",$a2)."'<br>";
echo "a3 is: '".implode("','",$a3)."'<br>"; ?>
<?php
$arr =array(1,2,3,4);
echo vsprintf("%d-%d",$arr);//输出1-2
echo vsprintf("%d-%d-%02d",$arr);//输出1-2-03
?>
 <?php
function test1($str1="",$str2=array()){
//把数组分割成字符串 implode
//下个这个方法的意思是:$str2应该是个数组
//然后把这个数组按照逗号来分割组成一个新的字符串
$s1 = implode(",",$str2);
// echo $s1; //把字符串分割成数组 explode
//这个函数的意思就是:首先$str1是一个字符串,这个字符串是按照一个规格组装出来的
//这个规格就是必须符合前面第一个参数的样式
$s2 = explode("-",$str1); print_r($s2);
} //函数的默认值
function test2($db="bbs"){
$conn = mysql_connect(HOST,USER,PWD) or die(mysql_error());
mysql_select_db($db,$conn);
mysql_query("set names 'utf8'");
} function test3($str="hello world"){
echo $str;
} function formatDateTime($date){
$arr = explode("-",$date);
$str = vsprintf("%04d-%02d-%02d",$arr);
return $str;
} //获取函数全部参数
//获取传过来的所有参数
function test4(){
//获取传过来参数的数量
$num = func_num_args();
//获取所有传入的参数,返回的是一个数组
$arr = func_get_args(); var_dump($arr);
} 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;
} ?>

About_PHP_函数的更多相关文章

  1. About_php_封装函数

    <?php //编写数据库操作的魔术函数 function mysql_bind(){ //首先我们不知道外面会传入多少个参数 //可以用func_get_args()方法来获取全部传入参数,这 ...

  2. About_PHP_数据类型&常用数组函数

    PHP数据类型总结: 1:Boolean 布尔类型 返回值就是true和false 特殊情况:(1)false (2)整型0的时候 (3)空字符串/字符串“0” (4)null 以上都会被返回fals ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  5. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  6. C++对C的函数拓展

    一,内联函数 1.内联函数的概念 C++中的const常量可以用来代替宏常数的定义,例如:用const int a = 10来替换# define a 10.那么C++中是否有什么解决方案来替代宏代码 ...

  7. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  8. javascript中的this与函数讲解

    前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码, ...

  9. 复杂的 Hash 函数组合有意义吗?

    很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash ...

随机推荐

  1. “基础提供程序在Open上失败”

    本来布置在IP为[x.x.x.x]的WCF服务好好的,但是今天突然就有问题了,一调用报错"基础提供程序在Open上失败"... 服务器上的有问题,先试试本地的服务能不能用吧,连的都 ...

  2. 【转~】初识贝塞尔曲线(Bézier curve)

    本文图文大多转自http://www.html-js.com/article/1628 QAQ我居然去扒维基,,,看不懂啊,,,我要去补数学,,, 在做变形小鸡的时候用到CSS3 transition ...

  3. JSP内置对象之application对象

    虽然常把Web应用称为B/S架构的应用,但其实Web应用一样是C/S结构的应用,只是这种应用的服务器是Web服务器,而客户端是浏览器. 现在抛开Web应用直接看Web服务器和浏览器. Web服务器负责 ...

  4. H5播放器

    <!DOCTYPE html>  <html>  <body>  <div style="text-align:center">  ...

  5. T-SQL实用查询之常用SQL语句

    删除数据库所有的表: declare @sql varchar() begin SELECT @sql='drop table ' + name FROM sysobjects WHERE (type ...

  6. Shodan新手入坑指南

    *本文原创作者:xiaix,本文属FreeBuf原创奖励计划,未经许可禁止转载 亲们~黑五 Shodan Membership 只要5刀,你剁手了没? 什么是 Shodan? 首先,Shodan 是一 ...

  7. BZOJ 4581: [Usaco2016 Open]Field Reduction

    Description 有 \(n\) 个点,删掉三个点后,求最小能围住的面积. Sol 搜索. 找出 左边/右边/上边/下边 的几个点枚举就可以了. 我找了 12 个点,统计一下坐标的个数,然后找到 ...

  8. [Linux]系统调用理解(3)

    本文介绍了Linux下的进程的一些概念,并着重讲解了与Linux进程管理相关的重要系统调用wait,waitpid和exec函数族,辅助一些例程说明了它们的特点和使用方法. 1.7 背景 在前面的文章 ...

  9. CentOS7 开机调整亮度

    默认亮度是100,受不了,所与就自己想了个办法,依赖其它的自启动服务使我的设置生效. /usr/lib/systemd/scripts/nfs-utils_env.sh这是一个开机自启动服务要用到的脚 ...

  10. [Android Pro] 完美解决隐藏Listview和RecyclerView去掉滚动条和滑动到边界阴影的方案

    reference to : http://blog.csdn.net/ming2316780/article/details/51578621 一.首先是Listview的属性设置 设置滑动到顶部和 ...