zoukankan      html  css  js  c++  java
  • PHP基础之函数

    函数

    • 函数的定义
      • 变量名区分大小写
      • 关键字、函数名不区分大小写
    function 函数名(参数1,参数2,...){
        //函数体
    }
    

    可变函数

    • 可变函数
      • 将函数名存储到变量中
      • 变量直接调用
    <?php
        function showOne($args){
            echo "泥萌{$args}<br>";
        }
        function showTwo($args){
            echo "蜗萌{$args}<br>";
        }
        $fn = rand(0, 1)% 2? 'showOne': 'showTwo'; 
        $fn('号');
    ?>
    

    匿名函数

    • 匿名函数
      • 匿名函数就是没有名字的函数
    <?php
        $fun = function ($args){
            echo "泥萌{$args}<br>";
        };
        $fun('号');
    ?>
    

    参数传递

    值传递

    <?php
        $str= '泥萌';
        function fun($args) {
            echo "{$args}<br>";
            $args= '蜗萌';
        }
        fun($str);
        echo $str;	
    ?>
    

    地址传递

    <?php
        $str= '泥萌';
        function fun(&$args) {
            echo "{$args}<br>";
            $args= '蜗萌';
        }
        fun($str);
        echo $str;	
    ?>
    

    参数默认值

    • 参数默认值
      • 有默认值的写在后面,没有默认值的写在前面
      • 在定义函数的时候给形参赋值就是参数的默认值
      • 默认值必须是值,不能用变量代替
      • 默认值可以使用常量
    <?php
        function fun($name, $word='泥萌') {
            echo "姓名:{$name}<br>";
            echo "说说:{$word}<br>";
        }
        fun('Sunny');
        fun('Jerry', '蜗萌');
    ?>
    
    <?php
        define('WORD', '泥萌');
        function fun($name, $word=WORD) {
            echo "姓名:{$name}<br>";
            echo "说说:{$word}<br>";
        }
        fun('Tomy');
        fun('Marry', '蜗萌');
    ?>
    

    获取所有传递的参数

    <?php
        function fun() {
            echo func_num_args(), '<br>';
            $args= func_get_args();
            print_r($args);
        }
        fun('泥萌', '蜗萌');
        echo '<br>';
        fun('Tomy', 'Sunny', 'Jerry', 'Marry');
    ?>
    

    参数约束

    数组参数展开

    • 定义变长参数
      • ... 将数组中的参数展开
    <?php
        function fun(...$args) {
            print_r($args);
        }
        $name= ['Sunny', 'Jerry', 'Tomy'];
        echo '<pre>';
        fun(...$name); 
    ?>
    
    <?php
        function fun($name, ...$word) {
            echo "{$name}<br>";
            foreach($word as $v){
                echo "{$v}<br>";
            }
        }
        fun('Jerry', '泥萌号', '蜗萌号', '塔萌号'); 
    ?>
    

    参数类型约束

    <?php
        function fun(string $name, int $age) {
            echo "{$name}:{$age}<br>";
        }
        fun('Jerry', 15); 
    ?>
    

    返回值约束

    • 返回值约束
      • 可以约束:string、int、float、bool、数组
    # 约束返回类型是数组
    function fun():array {
      
    }
    fun();
    
    # 约束return后面不能有返回值  
    # 必须在7.1以后的版本中才支持
    function fun():void {    //void是空的意思
    	return;
    }
    fun();
    
    <?php
        function fun(int $num1, int $num2):int {  //必须返回整型
            return $num1+ $num2;
        }
        echo fun(10,21);
    ?>
    

    return

    终止脚本执行

    • 终止脚本执行
      • return只能中断当前页面,如果有包含文件,只能中断包含文件
      • 如果要完全终止脚本执行,使用exit()、或die()
    # demo.php
    echo '泥萌<br>';
    require './test.php';    //包含文件
    echo '蜗萌<br>';
    /*
    * 最终输出结果为:
    * 泥萌
    * Sunny
    * 蜗萌
    */
    
    # test.php
    echo 'Sunny<br>';
    return;
    echo 'Jerry<br>';
    

    返回页面结果

    • 返回页面结果
      • 在项目中引入配置文件就使用这种方法
    # test.php
    return array('name'=>'Sunny', 'word'=>'泥萌');
    
    # demo.php
    $arr= require './test.php';
    print_r($arr); 
    

    函数的返回和终止

    • 函数的返回和终止
      • return在函数中使用作用
        • 终止函数执行
        • 返回值
    <?php
        function fun1() {  
            echo 'Sunny';
            return;
            echo 'Jerry';
        }
        function fun2(){
            return '泥萌';
        }
        fun1();
        echo fun2();
    ?>
    
  • 相关阅读:
    Django之model补充:一对多、跨表操作
    Ajax
    Django之model详解
    Django补充之模板语言
    Django基础篇
    web框架
    linux下命令学习
    make: Warning: File `Makefile' has modification time 17 s in the future
    linux下复制文件报cp: omitting directory `XXX'
    关于控制台程序下使用mfc库中的函数时断言
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/13961996.html
Copyright © 2011-2022 走看看