• php 构造函数支持不同个数参数的方法


    php 构造函数支持不同个数参数方法

    原理:在__construct中使用 func_num_args 获取参数个数,再根据参数个数执行不同的调用。参数值使用func_get_arg() 方法获得。

    demo:

    <?php
    class demo{
     
        private $_args;
     
        public function __construct(){
            $args_num = func_num_args(); // 获取参数个数
     
            // 判断参数个数与类型
            if($args_num==2){
                $this->_args = array(
                                    'id' => func_get_arg(0),
                                    'dname' => func_get_arg(1)
                                );
            }elseif($args_num==1 && is_array(func_get_arg(0))){
                $this->_args = array(
                                    'device'=>func_get_arg(0)
                                );
            }else{
                exit('func param not match');
            }    
        }
     
        public function show(){
            echo '<pre>';
            print_r($this->_args);
            echo '</pre>';
        }
     
    }
     
    // demo1
    $id = 1;
    $dname = 'fdipzone';
    $obj = new demo($id, $dname);
    $obj->show();
     
    // demo2
    $device = array('iOS','Android');
    $obj = new demo($device);
    $obj->show();
    ?>

    demo执行后输出:

    Array
    (
        [id] => 1
        [dname] => fdipzone
    )
    Array
    (
        [device] => Array
            (
                [0] => iOS
                [1] => Android
            )
     
    )
  • 相关阅读:
    scala程序启动时,Could not locate executable nullinwinutils.exe in the Hadoop binaries解决方案
    binlog_format的模式有哪几种?各自的特点是?
    解决IDEA控制台junit不能用Scanner输入问题
    【转】什么是乐观锁,什么是悲观锁
    lyt经典版MySQL基础——流程控制结构
    ambari 2.5.0源码编译安装
    linux(centeros)svn的安装
    机器学习
    算法思想整理
    lucene
  • 原文地址:https://www.cnblogs.com/saonian/p/9356093.html
Copyright © 2020-2023  润新知