>  기사  >  백엔드 개발  >  조인 함수는 어떻게 이전 매개변수를 생략하게 합니까?

조인 함수는 어떻게 이전 매개변수를 생략하게 합니까?

WBOY
WBOY원래의
2016-10-10 11:56:111283검색

join(implode의 별칭)과 유사한 함수를 캡슐화하고 싶습니다. 코드는 다음과 같습니다.

<code><?php
#封装函数:join
$arr = array('jack','male',23);
function getJoin($glue="",$arr){
    $str ="";
    foreach ($arr as $key => $value) {
        $str .= $value.$glue;
    }
    $str = substr($str, 0,-1);
    return $str;
}
echo getJoin(",",$arr);</code>

이렇게 작성하면 시스템 함수 Join과 비슷해 보이지만 호출 시 $glue 매개변수를 채우지 않으면 오류가 보고됩니다.

getJoin($arr,$glue="")처럼 기본값이 있는 매개변수는 맨 마지막에 둬야 호출시 $arr 매개변수만 채울 수 있도록 하는 것으로 알고 있는데 매뉴얼과 매개변수 값을 읽어보니 시스템 기능 조인은 다음과 같습니다:

조인 함수는 어떻게 이전 매개변수를 생략하게 합니까?

대괄호가 없으면 매개변수를 생략할 수 없음을 나타냅니다. 동시에 매개변수 하나만 채우는 작성 방법도 지원하며 기본적으로 빈 문자열을 $glue 값으로 사용합니다. 역사적인 이유로 설명했지만 여전히 시스템 기능이 어떻게 구현되는지 알고 싶습니다.

답글 내용:

join(implode의 별칭)과 유사한 함수를 캡슐화하고 싶습니다. 코드는 다음과 같습니다.

<code><?php
#封装函数:join
$arr = array('jack','male',23);
function getJoin($glue="",$arr){
    $str ="";
    foreach ($arr as $key => $value) {
        $str .= $value.$glue;
    }
    $str = substr($str, 0,-1);
    return $str;
}
echo getJoin(",",$arr);</code>

이렇게 작성하면 시스템 함수 Join과 비슷해 보이지만 호출 시 $glue 매개변수를 채우지 않으면 오류가 보고됩니다.

getJoin($arr,$glue="")처럼 기본값이 있는 매개변수는 맨 마지막에 둬야 호출시 $arr 매개변수만 채울 수 있도록 하는 것으로 알고 있는데 매뉴얼과 매개변수 값을 읽어보니 시스템 기능 조인은 다음과 같습니다:

조인 함수는 어떻게 이전 매개변수를 생략하게 합니까?

대괄호가 없으면 매개변수를 생략할 수 없음을 나타냅니다. 동시에 매개변수 하나만 채우는 작성 방법도 지원하며 기본적으로 빈 문자열을 $glue 값으로 사용합니다. 역사적인 이유로 설명했지만 여전히 시스템 기능이 어떻게 구현되는지 알고 싶습니다.

함수 오버로딩. . .
http://m.blog.csdn.net/articl...

이 효과를 꼭 얻으려면 PHP의 가변 개수 매개변수 선언 방법을 사용할 수 있습니다.
http://php.net/manual/zh/func...
를 참조하세요. 매개변수를 배열로 가져오고 배열을 분석하여 처리하세요.

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