博客列表 >0612-PHP函数

0612-PHP函数

我的博客
我的博客原创
2019年06月13日 15:18:19831浏览

实例

<style>
    hr{
        border: 1px solid mediumvioletred;
    }

</style>
<?php
// demo1: php 全局变量 和在函数里面的变量互相不能通用,各自有各自的作用域,要使用必须使用global 声明。
echo 'demo1:<br>';
$x = 5;
$y = 10;
function sum1(){
    global $x,$y;
   $z = $x + $y;
   return $z;
}

echo sum1() . '<hr>';

$qq = '******************************************************';


//demo2:传参方式://1、可以通过全局实参和函数形参绑定传参;
                //2、可以再调用函数的时候传参;
                //3、global定义的局部作用域 优先 于 函数调用传参 sum2;
echo 'demo2:<br>';

function sum2($x,$y){
    global $x,$y;
    $z = $x + $y;
    return $z;
}
echo sum2(11,22) . '<hr>';  //结果为 15 ,而不是33;

$qq = '******************************************************';

//demo2_1
echo 'demo2_1:<br>';
function sum2_1($x,$y){

    $z = $x + $y;
    return $z;
}

echo sum2_1(22,44) . '<hr>';

$qq = '******************************************************';

//demo3:
echo 'demo3:<br>';
function sum3(){
   $a = func_get_arg(0); //输出第1个参数;
    $b = func_get_arg(1); //输出第1个参数;
   $c = func_get_args();           //获取所有传输过来的参数形成一个数组;
    // return $b;
    //return $a,$b;               //函数只能返回一个数值或一个数组,不能返回多个数值;
    // return print_r([$a,$b]);         //函数只能返回一个数值或一个数组,不能返回多个数值,如果要返回可以加【】,放在一个数组中打印
    //return $a+$b;
    //return print_r($c);        //打印一下$c数组
//   $tobal=0;
//   foreach ($c as $value){    //运用一个循环来计算所有参数之和;
//    $tobal += $value;
//   }
//    //return $tobal;
//
   $sum = array_sum($c);   //PHP7 可以用一个函数来求所有参数之和;
    return $sum;
}

echo sum3(1,2,3,4,5,6,7,8,9) . '<hr>';

$qq = '******************************************************';

//demo4: 变长数组,在变量前加 ... 即可读取所有参数;
echo 'demo4:<br>';

function sum4(...$a){

   // return '<pre>' . print_r($a,true);  //返回一个打印好的变长数组,结果为键值对
    $sum = array_sum($a);     //求数组之和
    return $sum;

}
$arr = [6,7,8,9];
echo sum4(1,2,3,4,5,...$arr) . '<hr>';  //结果为45

$qq = '******************************************************';

//demo5: php7可以对形参类型进行限制;

echo 'demo5:<br>';

function sum5(string ...$a){

     return '<pre>' . var_dump($a);  //返回一个打印好的变长数组,结果为键值对,且变更参数为 字符串类型
    //$sum = array_sum($a);     //求数组之和
    //return $sum;

}
$arr = [6,7,8,9];
echo sum5(1,2,3,4,5,...$arr) . '<hr>';  //结果为45

$qq = '******************************************************'; //分割线

//demo6:  php7中, 可以限定函数的返回类型
echo 'demo6:<br>';
function demo6($a, $b):int
{
    return $a + $b;
}
// 不限定返回类型,输出: 4.7, 限定后返回: 4
echo demo6(1.4, 3.3) . '<hr>';

$qq = '******************************************************';

//demo7 :函数的全局变量和局部变量
         //1、函数内不能直接访问外部全局变量,全局也不能直接使用函数局部变量;
         //2、函数内部使用外部变量可以在函数内使用 global声明一下就可以用;
         //3、或者函数外部使用超全局变量数组($GLOBALS['变量名']) 和 常量定义(define('变量名','变量值')),define定义不允许改变和删除
echo 'demo7:<br>';
//第一种使用外部变量办法;
$email = 'admin@y160.php';
$email1 = 'admin@yzz9.com';
function demo7($a)
{
    return  $a ;
}
echo demo7($email) . '<hr>';

$qq = '******************************************************';

//第二种使用外部变量办法;
echo 'demo7_1:<br>';
function demo8()
{   global  $email;
    return  $email ;
}
echo demo8() . '<hr>';

$qq = '******************************************************';

//第三种使用外部变量办法;
echo 'demo7_2:<br>';
$name = '霸王';

function demo9()
{
    return $GLOBALS['name'];
}
echo demo9() . '<hr>';

$qq = '******************************************************';
//第四种使用外部变量办法;
echo 'demo7_3:<br>';
define('QQ','121857425');
function demo10()
{
    return 'QQ = ' . QQ;
}
echo demo10() . '<hr>';

$qq = '******************************************************';
//demo8 : 外部访问函数内部变量

echo 'demo8:<br>';

function demo11()
{
    $ww = '我的天啊';
    $rr = '我不怕';

    return [$ww,$rr];   //只能靠return 出去一个数值或一个数组
}
echo print_r(demo11()) . '<hr>';


$qq = '******************************************************';

运行实例 »

点击 "运行实例" 按钮查看在线实例


上一条:require_once下一条:文本编辑器vim
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议