函数,自定义函数,内置函数

自定义函数

PHP中在同一个脚本,函数名不能重复;在js中可以有重复名
function 函数名(形参1,形参2){ //函数不固定的数据,设置为形参,函数名不区分大小写 //语句块 return 表达式//执行完毕 };
调用函数 :函数名(实参)

给形参设置默认值,

PHP:
function arraySplice($x,$y=null){//直接等于默认值或设置null后在给默认值;
 if( is_null($y)){
        $y=xxxx;
}
}
js :
function arraySplice($arr,$y,$len){
  $len=$len||$arr.length;
}

实参传值,地址传递
//实参变量传递给形参变量的方式(值、地址)
function arr(&$a,&$b){}//内部改变$a,$b的值,传入的实参也会改变

//值传递
function alter($a,$b){
    $c = $a;
    $a = $b;
    $b = $c;
}

$x = 10;
$y = 20;
alter(10,$y);  //$x传递给$a是值传递,$y传递给$b是值传递
echo '$x='.$x.',$y='.$y.'<br />';

//地址传递,是在形参变量前加&符号
function change(&$a,&$b){
    $c = $a;
    $a = $b;
    $b = $c;
}

change($x,$y);  //$x传递给$a是地址传递,$y传递给$b是地址传递
echo '$x='.$x.',$y='.$y.'<br />';

//change(23,$y); //这是错误使用,因为当形参前加了&符号所对应的实参一定是变量

局部变量和全局变量

PHP:在函数内部声明的变量就是局部变量,作用域是函数内部;
在函数中声明的变量要在全局中使用,要用global关键词声明;global $a,$b;可以同时声明多个变量

<?php
    function sum(){
        global $a,$b;//可以声明多个;
            $a=5;
            echo $a;
    }
sum();
?>

js :函数内部用var 声明的是局部变量;
当参数不固定时,可以使用获取实参来处理func_get_args();

<h2>实参不固定时</h2>
<?php
//获取传入参数中最大值;
function fetchMax(){
    $args=func_get_args();//获取当前实参,返回数组
    $max=$args[0];
    for($i=$max,$len=count($args);$i<$len;$i++){
        if($args[$i]>$max){
            $max=$args[$i];
        }
    }
    return $max;
}
echo fetchMax(1,5,8);
?>

转向指定的页面;

js:echo '<script>location.href="aaa.php";</script>'
php:header('location:aaa.php')

php结束脚本:exit;或者return

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容