Heim  >  Artikel  >  Backend-Entwicklung  >  Eine Einführung, wie der PHP-Konstruktor eine unterschiedliche Anzahl von Parametern unterstützt

Eine Einführung, wie der PHP-Konstruktor eine unterschiedliche Anzahl von Parametern unterstützt

jacklove
jackloveOriginal
2018-06-09 14:07:362534Durchsuche

php-Konstruktor unterstützt verschiedene Zahlenparametermethoden

Prinzip: Verwenden Sie func_num_args in __construct Get die Anzahl der Parameter und führt dann basierend auf der Anzahl der Parameter unterschiedliche Aufrufe aus. 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
        )
)

In diesem Artikel wird erläutert, wie der PHP-Konstruktor eine unterschiedliche Anzahl von Parametern unterstützt. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

So verwenden Sie PDO zum Abfragen von MySQL, um SQL-Injection zu vermeiden

Erklärung der bidirektionalen PHP-Warteschlangenklasse

Die Unterschiede und Eigenschaften zwischen PHP Heredoc und Nowdoc

Das obige ist der detaillierte Inhalt vonEine Einführung, wie der PHP-Konstruktor 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