>  기사  >  백엔드 개발  >  PHP 생성자가 다양한 수의 매개변수를 지원하는 방법 소개

PHP 생성자가 다양한 수의 매개변수를 지원하는 방법 소개

jacklove
jacklove원래의
2018-06-09 14:07:362589검색

php 생성자는 다양한 수의 매개변수 메서드를 지원합니다

원리: 매개변수 수를 가져오려면 __construct 에서 func_num_args를 사용하고, 매개변수 수에 따라 다양한 호출을 수행합니다. 매개변수 값은 func_get_arg() 메서드를 사용하여 가져옵니다.

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


Demo 출력 후 실행:

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

이 기사에서는 PHP 생성자가 다양한 수의 매개변수를 지원하는 방법을 소개합니다. 자세한 내용은 PHP 중국어 웹사이트를 참조하세요. .

관련 권장사항:

SQL 주입을 피하기 위해 PDO를 사용하여 mysql에 쿼리하는 방법

PHP 양방향 대기열 클래스에 대한 설명

php heredoc과 nowdoc의 차이점과 특징

위 내용은 PHP 생성자가 다양한 수의 매개변수를 지원하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.