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...
를 참조하세요. 매개변수를 배열로 가져오고 배열을 분석하여 처리하세요.