1、require( )和include( ) 作用:将一个文件载入PHP脚本并执行 已知有一home.php的文件,下面是载入页眉和页脚后的情况
<?php require('header.php'); ?> <!-- page content --> <p>Welcome to the home of TLA Consulting. Please take some time to get to know us.</p> <p>We specialize in serving your business needs and hope to hear from you soon.</p> <?php require('footer.php'); ?>2、函数的命名 –函数名称只能包含字母、数字和下画线 –函数名不区分大小写,变量名区分
3、函数的原型 当我们描述一个函数的时候,可以参考一个函数的原型,如fopen()函数的原型如下所示:
resource fopen(string filename,string mode [,bool use_include_path [,resource context]])”resource”告诉我们函数会返回一个资源(即一个打开的文件句柄) 文件名称、打开模式这两个参数为字符串(必选参数) use_include_path是一个布尔值,而参数context是一个资源
->调用fopen
$name = myfile.txt; $openmode = 'r'; $fp = fopen($name,$openmode);以上代码调用了fopen函数,函数的返回值保存在变量$fp中
4、作用域 举一个例子,对于输出结果自己感受
function fn(){ echo "inside the function ,\$var = '.$var"<br />'; $var = "contents 2" echo "inside the function ,\$var = '.$var"<br />'; } $var = "content 1"; fn(); echo "outside the function, \$var = '.$var"<br />输出结果:
inside the function,$var = inside the function, $var = content 2 inside the function, $var = content 1注:全局变量的关键词global,意味这在函数内部一旦声明了某变量为全局变量,那么在函数调用结束后,该变量的作用域依旧存在
5、参数的引用传递和值传递
function increment($value,$amount = 1){ $value = $value +$amount; } $value = 10; increment($value); echo $value; //返回结果依旧为10,$value的值在函数内部为11,但在这一段代码中变量$value是一个不同的变量,具有全局域,所有值并未发生改变->值传递:当传递一个参数的时候,一个新的并且包含该传入值得变量被创建,即为原来的那个变量副本。但函数外部原来的变量值不会改变
->引用传递:通过在函数定义的参数名前加上一个地址符(&)来指定参数的引用传递
function increment(&$value,$amount = 1){ $value = $value + $amount; } $a = 10; echo $a.'<br />'; //调用之前显示为10 increment($a); echo $a.'<br />'; //调用之后显示为116、return关键字
->终止函数执行
function larger($x,$y){ if((!isset($x) || (!isset($y))) { echo "This function requires two numbers."; //内置isset()判断变量是否被创建并被赋值 return; //返回为空时,返回函数调用处 } if($x>=$y){ echo $x."<br />"; }else { echo $y."<br />" } }->从函数返回一个值
function larger($x,$y){ if((!isset($x) || (!isset($y))) { return false; } if($x>=$y){ return $x; }else { return $y; } }