Maison  >  Article  >  développement back-end  >  Partagez la méthode de la fonction constructeur en php prenant en charge différents nombres de paramètres

Partagez la méthode de la fonction constructeur en php prenant en charge différents nombres de paramètres

黄舟
黄舟original
2017-07-02 09:53:391427parcourir

php Constructor prend en charge différents nombres de méthodes de paramètres

Principe : dans la construction Utiliser func_num_args pour obtenir le nombre de paramètres, puis effectuer différents appels en fonction du nombre de paramètres. Les valeurs des paramètres sont obtenues à l'aide de la méthode func_get_arg().

démo :

<?php
class demo{

    private $_args;

    public function construct(){
        $args_num = func_num_args(); // 获取参数个数

        // 判断参数个数与类型
        if($args_num==2){
            $this->_args = array(
                                &#39;id&#39; => func_get_arg(0),
                                &#39;dname&#39; => func_get_arg(1)
                            );
        }elseif($args_num==1 && is_array(func_get_arg(0))){
            $this->_args = array(
                                &#39;device&#39;=>func_get_arg(0)
                            );
        }else{
            exit(&#39;func param not match&#39;);
        }    
    }

    public function show(){
        echo &#39;<pre class="brush:php;toolbar:false">&#39;;
        print_r($this->_args);
        echo &#39;
'; } } // demo1 $id = 1; $dname = 'fdipzone'; $obj = new demo($id, $dname); $obj->show(); // demo2 $device = array('iOS','Android'); $obj = new demo($device); $obj->show(); ?>


Sortie après exécution de la démo :

Array
(
    [id] => 1
    [dname] => fdipzone
)
Array
(
    [device] => Array
        (
            [0] => iOS
            [1] => Android
        )

)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn