php Constructor functionSupports different number of parameter methods
Principle: In construct Use func_num_args to get the number of parameters, and then perform different calls based on the number of parameters. The parameter value is obtained using the func_get_arg() method.
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 class="brush:php;toolbar:false">'; print_r($this->_args); echo ''; } } // demo1 $id = 1; $dname = 'fdipzone'; $obj = new demo($id, $dname); $obj->show(); // demo2 $device = array('iOS','Android'); $obj = new demo($device); $obj->show(); ?>
Output after demo execution:
Array ( [id] => 1 [dname] => fdipzone ) Array ( [device] => Array ( [0] => iOS [1] => Android ) )
The above is the detailed content of Share the method of constructor function in php supporting different number of parameters. For more information, please follow other related articles on the PHP Chinese website!