ホームページ  >  記事  >  バックエンド開発  >  PHP コンストラクターがさまざまな数のパラメーターをサポートする方法の概要

PHP コンストラクターがさまざまな数のパラメーターをサポートする方法の概要

jacklove
jackloveオリジナル
2018-06-09 14:07:362594ブラウズ

php コンストラクターはさまざまな数のパラメーター メソッドをサポートします

原則: __construct で使用する 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 サイトを参照してください。

関連する推奨事項:

SQL インジェクションを回避するために PDO を使用して mysql にクエリを実行する方法

PHP の 2 つの説明way queue クラス

php heredoc と nowdoc の違いと特徴

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

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