ホームページ >バックエンド開発 >PHPチュートリアル >異なる数のパラメータをサポートするPHPのコンストラクタ関数のメソッドを共有する

異なる数のパラメータをサポートするPHPのコンストラクタ関数のメソッドを共有する

黄舟
黄舟オリジナル
2017-07-02 09:53:391451ブラウズ

php コンストラクター は、さまざまな数のパラメーター メソッド

をサポートします。 原則: コンストラクト func_num_args を使用してパラメーターの数を取得し、パラメーターの数に基づいてさまざまな呼び出しを実行します。パラメータ値はfunc_get_arg()メソッドを使用して取得されます。

デモ:

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


実行後のデモ出力:

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

)

以上が異なる数のパラメータをサポートするPHPのコンストラクタ関数のメソッドを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。