这是主要的测试用的页面。
<?
/*代码重用与函数编写*/
/*5.1代码重用的好处*/
echo "代码重用的好处:1.降低成本,2.提高可靠性3.提高一致性";
/*5.2use function require() and include */
//the diffurent between require and include :
//require("none.txt");
//include("none.txt");
//感觉没什么区别。。。
//require('test.txt');
//include('test.txt');
$fp=fopen($_SERVER['DOCUMENT_ROOT']."/test/main/test.inc",'w+');
flock($fp,LOCK_EX);
fwrite($fp,"</br /><a href=\"../test/main/home.php\">Open a new web to study require().</a><br />");
flock($fp,LOCK_UN);
fclose($fp);
require($_SERVER['DOCUMENT_ROOT']."/test/main/test.inc");
/*5.2.2使用require()制作web站点的模版*/
readfile($_SERVER['DOCUMENT_ROOT']."/test/main/test.inc");//更安全
/*5.2.3使用php.ini中的auto-prepend-file 和 auto-append-file来设置*/
//放弃了,没学
/*5.3在php中使用函数*/
//phpinfo();
function name(){
echo "调用了一次name函数";
}
$f="name";
@$a=1/0;
echo $php_errormsg;
function fn2(){
require("fc/lufunction.php");
}
fn2();
//require("fc/lufunction.php");
$a=array(1,2,3);
createtable($a,'black');
function var_args(){
echo "Number of parameters:";
echo func_num_args();
echo "<br />These are:";
$args=func_get_args();
foreach($args as $v){
echo $v." ";
}
}
var_args(1,2,3,4,5,6,0);
/*5.7函数的作用域(局部变量、全局变量和超级全局变量)*/
//通过例子来实现区别
$var='a';
function fn(){
global $var;
echo '<br />$var='.@$var;
$var='b';
echo '<br />$var='.$var;
}
fn();
echo '<br />$var='.$var;
echo $b;//此时b没有值,因为是通过函数的方式来加载lufunction的,当把$b的作用域用global定义之后才可以使用。
//当一个变量有可能在整个脚本中用的的时候,可以用global。
echo "<br />";
/*5.8参数的引用传递和值传递*/
$value=1;
plus1($value);
echo $value;
echo "<br />";//引用地址符&
$value2=1;
plus2($value2);
echo $value2;//设置作用域
/*return 关键字*/
function tryreturn($a){
if($a<0){return false;}
if($a==0){echo "a=0";return;echo "不会显示的语句";}
if($a>0){return "正数";}
}
if(tryreturn(-1)===false){echo "负数";};
tryreturn(0);
echo tryreturn(1);
tryreturn("wo");
echo "<br />";
@larger();
larger("2","3");
echo larger(2.2,3.3);
echo larger(2,2);
echo larger(2,5);
/*5.10实现递归*/
echo "对hello使用strrev函数".strrev("hello");
function trydigui($a){
if(strlen($a)>0){
trydigui(substr($a,1));
}
echo substr($a,0,1);
return;
}
echo "<br />对hello使用trydigui函数后得到";
trydigui("hello");
function newdigui($a){
if($a<100){
newdigui($a+1);
}
echo "$a";
}
newdigui(50);
//使用循环来倒序打印
function trydigui2($a){
$b="";
for($i=1;$i<=strlen($a);$i++){
$b.=substr($a,-$i,1);
}
echo $b;
}
trydigui("hello");
/*名称空间:这是什么鬼,书上没说明白但是感觉还是很有用的*/
/*------------------end-------------------*/
?>
这个是其中的一个函数文件
<?
/*luhao's function*/
function createtable($data,$border=1,$bgcolor="red"){
echo "<table border=\"".$border."\" bgcolor=\"".$bgcolor."\">";
reset($data);
foreach($data as $v){
echo "<tr><td>".$v."</td></tr>";
}
echo "</table>";
}
global $b;
$b="1";
function plus1(&$value){
$value+=1;
echo $value;
}
function plus2(&$value2){
global $value2;
$value2+=1;
echo $value2;
}
function larger($x,$y){
if(!isset($x)||!isset($y)){echo "Please ipnut 2 number.";return;}
if(!is_int($x)||!is_int($y)){echo "Please input 2 integer.";return;}
if($x>$y){return $x;}
if($x<$y){return $y;}
if($x==$y){return "the same";}
}
?>