Maison  >  Article  >  développement back-end  >  Une introduction à la façon dont le constructeur PHP prend en charge différents nombres de paramètres

Une introduction à la façon dont le constructeur PHP prend en charge différents nombres de paramètres

jacklove
jackloveoriginal
2018-06-09 14:07:362588parcourir

Le constructeur php prend en charge différentes méthodes de paramètres numériques

Principe : Utilisez func_num_args dans __construct Get le nombre de paramètres, puis exécutez 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
        )
)

Cet article présente comment le constructeur PHP prend en charge différents nombres de paramètres. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois.

Recommandations associées :

Comment utiliser PDO pour interroger MySQL afin d'éviter l'injection SQL

Explication de la classe de file d'attente bidirectionnelle PHP

Les différences et caractéristiques entre php heredoc et nowdoc

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