函数的编译原理
参数列表(形参)
参数可以是多个,形式参数,其特点是没有值的,即使给了默认值,也是没有值的,调用的时候才有值的;注意!!参数列表中如果有默认值,那么该默认值一定放在参数列表最后!!
<?php Function singing($name) { echo "我喜欢".$name; } singing("陈培昌"); ?>
参数传递方式:
1.按值传递:把实际参数的值复制一份给形式参数
2.按引用传递:把是参数的地址
<?php $out_name = '徐晓冬'; Function singing(&$name) { $name = '陈培昌'; echo "我喜欢".$name."<br/>"; } singing($out_name); echo $out_name; ?>
让函数返回多个值的方法
1.返回数组,2.按值传递
外部传入的数据谓之外部数据
作用域-----变量能够被访问到的区域,局部作用域----函数内部使用,全局作用域----函数外部能访问(关于这一点,PHP语言显得非常特殊)
<?php echo "<pre>"; $myname = 'was a gape'; function misschengjin() { $GLOBALS['myname']= '程劲'; echo "特别想见到".$GLOBALS['myname']."<br/>"; } misschengjin(); echo $myname; ?>
<?php echo "<pre>"; $myname = 'was a gape'; function misschengjin() { global $myname; $myname = '程劲'; echo "特别想见到".$myname."<br/>"; } misschengjin(); echo $myname; ?>
匿名函数----用途:为后面的回调函数做理论准备,注意!这类函数通常只带function标识符,而且函数体结束后要加;执行时,变量后面加()
<?php $chengjin = function() { echo "下定那决心,不会再深沉"; }; $chengjin(); ?>
伪类型
mixed:混合,不确定类型
number:数值
callback:回调函数,在调用函数的时候,必须传入一个函数对应的名字
function myfunc(callback $func){//函数体} //表示参数func是一个外部函数的函数名字
function test(){//函数体} //在调用myfunc之前,需要事先定义一个函数
myfunc(‘test’);
<?php function wenwa($myfunc,$name) { $myfunc($name); } function truelyfunc($name) { echo '喜欢'.$name; } wenwa('truelyfunc','小松鼠'); ?>