转义字符
赋值传值/引用传值
【PHP中的数字与字符运算】
do while循环
for循环
红白黑球问题
【提高代码质量--红白黑球问题】
赋值传值和引用传址
数组
枚举数组
关联数组
数组的创建
使用array()函数创建数组
重载数组下标
多维数组
数组操作函数
print_r()
unset()
count()
foreach()
数组元素的删除和增加函数
array_shift()
array_values()
list()
计算机运行时间计算
函数的概念
函数的语法结构
函数结构说明:
函数参数:值传递参数、引用传递参数、默认值传递
PHP连接MySQL
函数作用域
解决函数内外变量如何通信
用global$GLOBALS 访问函数外面的变量
日期时间函数
date()
time()
转义字符
[[email protected]]# cat index_07.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>网页</title> </head> <body> <?php $str="<h2>转义字符</h2>"; $str.="老师说:\" 不能使用‘换行符‘(即\\n) 在网页达到换行的目的a,而应该使用 <br />标签\""; $str.=" ,输出变量名\$str"; echo$str; ?> </body> </html>
http://192.168.6.114/study/index_07.php
赋值传值/引用传值
[[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>引用变量</title> </head> <body> <?php /* 3.(赋值传值/引用传值)读程序,写结果: a) $a = 1; $b = $a; $a=$b++; $b = $a++; echo$a, “,”, $b; b) $a = 1; $b = $a; $b++; echo $a, “,”, $b; c) $a = 1; $b = &$a; $b++; echo $a, “,”,$b; */ //第一问 $a = 1; $b = $a; //$b=1;$a=1 $a = $b++; //$a=1;$b=2 $b = $a++; //$b=1;$a=2 echo $a.",".$b; //第二句 $a = 1; $b = $a; //$a=1,$b=1 $b++; //$a=1,$b=2 echo "<hr>$a , $b"; //第三句 $a = 1; $b = &$a; //将变量$a的地址,传给了$b,两个变量是相互关联,一变全变 $b++; //$b=2, $a=2 echo "<hr>$a , $b"; ?> </body> </html>
http://192.168.6.114/study/index_08.php
【引用变量】
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>引用变量</title> </head> <body> <?php $a=3; $b=4; $c=sqrt($a*$a+$b*$b); echo $c; echosqrt(pow($a,2)+pow($b,2)); ?> </body> </html>
【PHP中的数字与字符运算】
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>引用变量</title> </head> <body> <?php $a=3; $b=4; $c="4.5"; $d=4.5; echo$a+$b+$c."<br>"; echo$a+$b+$d; ?> </body> </html>
do while循环
while循环,先判断条件是否成立,再决定是否执行循环体代码,如果第一次条件为false,while循环一次都不执行;
do while循环,先执行一次循环体代码,再判断条件是否满足;如果第一次条件为false,循环体代码执行一次;
变量初始化;
do{
循环体代码;
变量更新;
}while(条件表达式);
[[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>引用变量</title> </head> <body> <?php $money=100000; $n=0; do { $n++; if ($money>50000) { $money *=0.95; }else { $money -=5000; } }while($money>=5000); echo"你一共可以经过路口{$n}次<br>"; echo"你一共可以经过路口".$n."次<br>"; echo"你一共可以经过路口$n 次<br>"; ?> </body> </html>
for循环
for(变量初始化;条件判断;变量更新)
{
循环体代码;
}
[[email protected] study]# cat index_08.php <!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>求100以内偶数的和</title> </head> <body> <?php $sum=0; for($i=0;$i<100;$i++){ if($i%2==0){ $sum+=$i; } } echo $sum; ?> </body> </html>
红白黑球问题:求红白黑球各几个
$red+$white==25
$red+$black==28
$white+$black==31
[[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>红黑白球问题</title> </head> <body> <?php $num=0; for($red=1;$red<=28;$red++){ for($white=1;$white<28;$white++){ for($black=1;$black<28;$black++){ $num++; if($red+$white==25 &&$red+$black==28 && $white+$black==31) { echo "红球:{$red},白球:{$white},黑球:{$black}"; } } } } echo"<br>一共循环了".$num."次"; ?> </body> </html>
【提高代码质量】
[[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>红黑白球问题</title> </head> <body> <?php $num=0; for($red=1;$red<=28;$red++){ $black=28-$red; $white=31-$black; $num++; if($red+$white==25 &&$red+$black==28 && $white+$black==31) { echo "红球:{$red},白球:{$white},黑球:{$black}"; echo "<br>此时已经循环了".$num."次"; } } echo"<br>一共枚举".$num."次"; ?> </body> </html>
赋值传值和引用传址
赋值传值:将一个变量的值“拷贝”一份,传给另一个变量,这两个变量之间没有任何联系,是相互独立的;\
在PHP中,基本数据类型(默认情况下)、数组都是“赋值传值”;
$a = 10;
$b = $a; //赋值传值
$a = 100;
echo $b; //10
引用传址:将一个变量的“地址”传给另一个变量,这两个变量指向的是同一个“事物”,更改其中一个变量,另一个变量也会跟着变。在PHP中,对象和资源默认是引用传值。
基本数据类型也可以使用“引用传值”
基本数据类型,使用一个“&”符号,实现“引用传值”。
//基本数据类型,使用引用传值
$a = 10;
$b = &$a; //将变量$a的地址,传给了变量$b,这两个变量指向了同一个“地址、事物”
$a = 990; //对变量$a进行了重新赋值
echo $b; //测试变量$b的值,结果是990
[[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>引用传值</title> </head> <body> <?php // 演示:变量$b 使用引用传值 // 把变量$a的地址传给$b $a=11; $b=&$a; $a=12; echo $b; ?> </body> </html>
数组
一、数组的概念
数组是一组数有序排列的集合。变量是单个值的容器,数组是多个值的容器。
JS中数组的创建:var arr = new Array(10,20,30,40,50,60);
PHP中数组的创建:$arr= array(10,20,30,40,50);
二、数组的分类
PHP中数组分类:枚举数组、关联数组、多维数组。
(1)枚举数组:跟JS中的数组一样
枚举数组,就是数组下标是从0开始的正整数。比如:$arr = array(10,20,30,40,50);
$arr[1]=10;
$arr[2]=20;
$arr[3]=30;
……
(2)关联数组:数组的下标是字符串,字符串的命名跟变量一样
$arr[“name”]= “周更生”;
$arr[“sex”]= “男”;
$arr[“school”]= “北京科技大学”;
…………
数组的创建
一、使用[ ]来创建数组
JS中创建数组:
var arr = [10,20,30,40];
arr[4] = 40; //追加数组元素
arr[5] = 50;
PHP中创建数组:
$arr[0] = 10; //如果$arr不存在,则创建一个数组 $arr[] = 20; //如果没有指定下标,则下标是“最大数字下标+1” $arr[10] = 100; //添加数组元素 $arr[] = 110; //下标是11 $arr[“name”] = “张立峰”; //增加一个字符下标的元素 $arr[“contact”] =”13011057863”; //增加一个字符下标的元素 $arr[] = 990; //最大下标是12 [[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>创建数组</title> </head> <body> <?php $my_arr[]=99; $my_arr[4]=9; $my_arr["name"]="user1"; $my_arr["age"]=22; $my_arr[]=123; print_r($my_arr); ?> </body> </html>
二、使用array()函数创建数组
JS中数组的创建:
var arr = new Array(10,20,30,40);
arr[4] = 50; //JS中能使用空的[]来增加元素
……
PHP中数组的创建:
$arr = array(10,20,30,40);
$arr[4] = 50;
$arr[] = 60;
$arr[“tel”] = “13011067654”;
三、重载数组下标
PHP中可以重新设置元素的下标,使用“=>”运算符。
$arr = array(
“name” => 10,
“tel” => ”1301102345”,
10 => 100,
78
);
在数组中还有两个名字:键名(指数字下标和字符下示)、键值是数据。
[[email protected] study]# cat index_08.php <!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>重载数组</title> </head> <body> <?php $test_arr = array( "c"=>"haha", "a"=>"990487026.blog.51cto.com", 10=> 123456, 121212, "haha PHP 编程!" ); echo "<pre>"; print_r ($test_arr); echo "</pre>"; ?> </body> </html>
多维数组
在JS中,严格来说只有一维数组。
var arr = new Array();
arr[0] = 0;
arr[1] = new Array(); //再创建一个空数组,不支持arr[1][0]= 100这种方式创建数组
arr[1][0] = 100;
arr[1][1] = 200;
在PHP中,是支持真正的多维数组的,最多可以嵌套60层数组。
$arr[0][0] = 100;
$arr[0][1] = 200;
$arr[“contact”][“tel”] = “020-110120130”;
$arr[“contact”][“mobile”] = “130110233234”;
$arr[“contact”][“email”] = “[email protected]”;
$arr[“contact”][“qq”] = “231231231”;
[[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title> 多维数组创建</title> </head> <body> <?php $my_arr[0][0]; $my_arr["name"]["first_name"]="Zhang"; $my_arr["name"]["last_name"]="Sanfeng"; $my_arr["contact"]["qq"]="1234567890"; $my_arr["contact"]["email"]="[email protected]"; $my_arr["contact"]["mobile"][]="110"; $my_arr["contact"]["mobile"][]="120"; echo"<pre>"; print_r($my_arr); echo"</pre>"; ?> </body> </html>
数组操作函数
print_r()
功能:打印变量的信息,如果是数组的话,以一定的格式来显示键名和键值。
语法结构:print_r($arr)
unset()
功能:删除一个变量的值,或者一个数组的元素,也可以是整个数组。跟JS的delete运算符功能一样。
语法:void unset ( mixed$var
[, mixed$...
] )
注意:如果要删除一个数组元素的话,删除的是数组元素的值,而下标所占的空间依然保留。
如果删除整个数组的话,数组的最大下标将重置为0。
举例:unset($arr[0]) 、 unset($arr)
count()
功能:统计数组中元素的个数,或者对象中属性的个数。
语法:int count ( mixed$var
[, int$mode
= 1 ] )
参数:$mode默认值是0,只对一维数组进行个数统计;如果为1,则可以对多维数组中的元素进行统计。
举例:$length =count($arr);
//unset()函数和count()函数的使用
$arr =array(10,20,30,40);
$len = count($arr);
echo "原始数组的个数:$len";
dump($arr);
unset($arr[0]);//删除下标为0的数组元素
$len = count($arr);
echo "<hr>现在数组的个数:$len";
dump($arr);
总结:
PHP中的count()函数只统计存在元素的个数,而JS中的length属性会统计所有的元素个数,包括使用delete删除的。
PHP和JS中,数组元素删除后,最大下标依然保留。
[[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title> print_r unsetcount</title> </head> <body> <?php $arr =array(3,4,5); $len=count($arr); echo"删除前的数组长度{$len}<br>"; dump($arr); unset($arr[1]); $len=count($arr); echo"<hr>删除后的数组长度{$len}<br>"; dump($arr); echo"下标依然保留了<br>"; unset($arr); $len=count($arr); dump($arr); echo"<hr>unset整个数组的数组长度{$len}<br>"; $arr[]="222"; $len=count($arr); dump($arr); echo"<hr>新加一个元素,数组的数组长度{$len}<br>"; functiondump($var){ echo"<pre>"; print_r($var); echo"</pre>"; } ?> </body> </html> [[email protected] study]#
foreach()只能遍历数组
功能:提供了遍历数组的简单方式,且只能用于数组。
语法1:$value是每次循环取出的键值的存放变量。as是系统关键字。
foreach($arr as $value)
{
echo$value;
}
语法2:每次取出数组中的一个元素,将元素的键名赋给$key,将键值赋给$value。foreach根据判断数组中所有元素是否都循环完毕,如果没有找到新的元素,则退出循环。
foreach($arr as $key => $value)
{
echo$arr[$key];
}
[[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title> print_r unsetcount</title> </head> <body> <?php $arr1 =array(3,4,5); $arr1["name"]="ZhangSan"; $arr1["age"]="32"; $arr1["address"]="杭州"; $arr1["post"]="33000"; foreach($arr1as $key=>$my_value){ echo"\$arr[$key] = $my_value<br>"; } //使用foreach统计数组长度 $n=0; foreach($arr1as $value){ $n++; } echo"数组\$arr1的长度是$n "; } ?> </body> </html>
数组元素的删除和增加函数
JS中删除和添加数组元素:arr.shift()、arr.pop()、arr.unshift()、arr.push()
PHP中删除第一个数组元素:array_shift()
PHP中删除最后一个数组元素:arr_pop()
PHP中在最前面添加一个元素:array_unshift()
PHP中在最后添加一个元素:array_push()
array_shift()
语法:mixed array_shift ( array&$array
)
返回值:被删除的元素的值将被返回
注意:删除第一个元素后,数组的总长度减一。
//将以下数组中的各元素进行倒序排列
$arr = array(1,2,3,4,5,6,7);
foreach($arr as $key=>$value)
{
//从原数组中,每删除一个元素,将删除的值赋给一个新的数组元素
$arr2[]= array_pop($arr);
}
$arr = $arr2; //赋值传值,并不是引用传值
dump($arr);
[[email protected] study]# cat index_08.php <!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title> 数组排序</title> </head> <body> <?php $my_arr = array(3,4,5); $my_arr["name"]="ZhangSan"; $my_arr["age"]="32"; $my_arr["address"]="杭州"; $my_arr["post"]="33000"; echo "排序前:"; dump($my_arr); foreach($my_arr as $my_key=>$my_value){ //将弹出的值给新的数组 $arr2[] =array_pop($my_arr); } $my_arr=$arr2; //这是赋值传值,不是引用传值 echo "排序后"; dump($my_arr); function dump($var){ echo "<pre>"; print_r ($var); echo "</pre><hr>"; } ?> </body> </html>
array_values()
功能:返回数组中所有的值并给其建立数字索引,将关联数组转成枚举数组。
语法:array array_values (array$input
)
//将非枚举数组,转成枚举数组 $arr["a"] = 100; $arr[10] = 200; $arr["b"] = 300; $arr[20] = 400; $arr2 = array_values($arr); dump($arr2); [[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title> array_values</title> </head> <body> <?php $my_arr= array(3,4,5); $my_arr["name"]="ZhangSan"; $my_arr["age"]="32"; $my_arr["address"]="杭州"; $my_arr["post"]="33000"; echo"执行array_values前:"; dump($my_arr); $arr2=array_values($my_arr); $my_arr=$arr2;//这是赋值传值,不是引用传值 echo"执行array_values后"; dump($my_arr); list($a,$b,$c)=$my_arr; echo"$a,$b,$c"; functiondump($var){ echo"<pre>"; print_r($var); echo"</pre><hr>"; } ?> </body>
list()
功能:将数组中的一些赋给一些变量。
语法:array list ( mixed$varname
[, mixed$...
] )
//将数组中前两个值赋给两个变量
//list要求数组必须是一个从0开始的枚举数组
list($a,$b) = $arr2;
echo "$a , $b";
PHP全局数组:$GLOBALS、$_GET[]、$_POST[]、$_SERVER[]、$_FILES等
【计算机运行时间计算】
[[email protected]]# cat index_08.php <!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title> array_values</title> </head> <body> <?php $start=GetTime(); for($i=0;$i<99999;$i++){ echo"杭州总下雨,"; } $end=GetTime(); echo"程序运行时间:".($end-$start); functionGetTime(){ list($msec,$sec)=explode("",microtime()); return $msec+$sec; } ?> </body> </html>
函数的概念
函数就是一段命名的代码块,将常用的功能定义为函数,可以减轻开发的压力,也方便程序的后期维护。
PHP中的函数分类:系统函数、自定义函数
一、函数的语法结构
函数名 不分大小写
function functionName([形参1][,形参2][,形参3][,……])
{
函数的功能代码;
[return值]
}
函数结构说明:
function是系统关键字,是必须的;
functionName是函数的名称,跟变量命名一样,但前不加$符号;
定义函数的参数是形式参数,形参主要用来接收“调用函数时”,传递过来的数据;形参只能在函数中使用;
调用函数的参数是实际参数,也可以理解为数据;
return语句是可选的,用于向调用者返回值,return语句执行完毕,立即结束函数的运行;
二、函数参数:值传递参数、引用传递参数、默认值传递
(1)PHP函数,默认的参数传递就是“值传递参数”
function getMax($a,$b)
{
if($a>$b)
{
return$a;
}else
{
return $b;
}
}
//调用函数
$max = getMax(10,20);
echo “最大值是:$max”;
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>函数初步</title> </head> <body> <?php echoadd_1(4); functionadd_1($a){ return $a+1; } ?> </body> </html>
(2)引用传递参数
//如果想在函数内,对函数外变量的值,进行修改,就必须要用引用传值。
function getMax(&$x,$y)
{
$x= $x + $y;
}
$a = 10;
$b = 20;
getMax($a,$b);
getMax(&$a,$b);//把地址传进去也可以
echo $a; // 结果是30
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>函数初步</title> </head> <body> <?php $a=5; $b=7; GetMax($a,$b); echo $a; functionGetMax(&$x,$y){ $x+=$y; echo $b; //函数内无法访问函数外的变量 // 用引用传值,在函数内修改函数外的数值 } ?> </body> </html>
(3)默认值参数
默认参数一般放在其它参数的右侧。
【函数的参数传递】连接MySQL的函数
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>PHP连接MySQL</title> </head> <body> <?php ConnMySQL("127.0.0.1","root","root"); functionConnMySQL($DB_HOST,$DB_USER,$DB_PASSWORD){ $link=mysql_connect($DB_HOST,$DB_USER,$DB_PASSWORD); if($link)echo "MySQL连接成功"; elseecho "MySQL连接失败"; } ?> </body> </html>
【函数的默认参数】
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>PHP连接MySQL</title> </head> <body> <?php ConnMySQL(); functionConnMySQL($DB_HOST="127.0.0.1",$DB_USER="root",$DB_PASSWORD="root"){ $link=mysql_connect($DB_HOST,$DB_USER,$DB_PASSWORD); if($link)echo "MySQL连接成功"; elseecho "MySQL连接失败"; } ?> </body> </html>
【哪个参数发生变化,就修改哪个】
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>PHP连接MySQL</title> </head> <body> <?php ConnMySQL("localhost","admin"); functionConnMySQL($DB_HOST="127.0.0.1",$DB_USER="root",$DB_PASSWORD="root"){ $link=mysql_connect($DB_HOST,$DB_USER,$DB_PASSWORD); if($link)echo "MySQL连接成功"; elseecho "MySQL连接失败"; } ?> </body> </html>
【默认参数】
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>PHP连接MySQL</title> </head> <body> <?php ConnMySQL("localhost","root"); functionConnMySQL($DB_HOST="127.0.0.1",$DB_USER="root",$DB_PASSWORD="root"){ $link=mysql_connect($DB_HOST,$DB_USER,$DB_PASSWORD); if($link)echo "MySQL连接成功"; elseecho "MySQL连接失败"; } action(); action("张三"); action("鲁迅","写作"); functionaction($a="鲁滨孙",$b="打架"){ echo " <br>{$a}正在$b"; } ?> </body> </html>
函数作用域
JS的作用域:
全局变量:是在函数外部定义的变量,可以在函数内和函数外使用。
局部变量:只能在函数内使用。
PHP的作用域:默认情况下,PHP中函数内外的变量无法通信。
全局变量:在函数内外都可以使用的变量。
局部变量:默认情况下,函数内外的变量都是局部变量。
解决函数内外变量如何通信?
(1)在函数中,使用global关键字,声明为全局变量(推荐使用)
//变量作用域
$a = 100;
function getValue()
{
//使用global关键字声明为全局变量
global$a;
$a +=200;
echo $a; //a=300
}
getValue();
echo $a; //a=300
【函数内无法访问函数外的变量】
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>局部变量</title> </head> <body> <?php $a=10; GetValue(); functionGetValue(){ echo $a; } ?> </body> </html>
<!DOCTYPE html PUBLIC"-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>局部变量</title> </head> <body> <?php $a=10; GetValue(); echo "<br>".$a; function GetValue(){ global $a; echo "<br>".$a; } ?> </body> </html>
【用global $GLOBALS 访问函数外面的变量】
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>global $GLOBALS </title> </head> <body> <?php functionGetValue(){ global $a; echo "<br>".$a; } functionGetValue2(){ echo $GLOBALS["a"]+=90; } $a=10; GetValue(); echo"<hr>"; GetValue2(); ?> </body> </html>
日期时间函数
PHP也可获取服务器的系统时间信息。JS获取的是客户端系统时间信息。
date()
功能:格式化一个本地时间/日期
语法:string date ( string$format
[, int$timestamp
])
返回值:返回的是一个字符串的日期时间信息。
参数:
$format:指要显示的时间日期的格式;
$timestamp:指定一个时间戳(从Unix纪元到现在的秒数),如果省略,则认为是time()
举例:echo date(“Y年m月d日 H:i:s”,time());
time()
功能:返回当前的 Unix 时间戳
语法:int time( void )
<!DOCTYPEhtml PUBLIC "-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8" />
<title>时间日期函数</title>
</head>
<body>
<?php
echo"<pre>";
echo"date函数的使用<hr>";
echo"分割线想怎么改就怎么改<br>";
echodate("Y--m--d H:i:s");
echo"<br>";
echodate("i");
echo"<hr>time函数的使用<br>";
echotime();
echo"</pre>";
echo"<hr> 用date函数,判断50天后是几月几号<br>";
$now=time();
$next=$now+(60*60*24*50);
echodate("Y-m-d H:i:s",$next);
?>
</body>
</html>