Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie die Methode der Konstruktorfunktion in PHP, die eine unterschiedliche Anzahl von Parametern unterstützt

Teilen Sie die Methode der Konstruktorfunktion in PHP, die eine unterschiedliche Anzahl von Parametern unterstützt

黄舟
黄舟Original
2017-07-02 09:53:391369Durchsuche

php Konstruktor unterstützt unterschiedliche Anzahl von Parametermethoden

Prinzip: im Konstrukt Verwenden Sie func_num_args , um die Anzahl der Parameter abzurufen und dann basierend auf der Anzahl der Parameter unterschiedliche Aufrufe durchzuführen. Parameterwerte werden mit der Methode func_get_arg() abgerufen.

Demo:

<?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(); ?>


Ausgabe nach Demo-Ausführung:

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

)

Das obige ist der detaillierte Inhalt vonTeilen Sie die Methode der Konstruktorfunktion in PHP, die eine unterschiedliche Anzahl von Parametern unterstützt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn