티스토리 뷰
func_get_args
다른 인수를 문자열 값으로 전달하려면 간단히 사용 하십시오. 그렇지 않으면 값 배열을 전달하고 처리합니다. 첫 번째 아이디어는 다음 스 니펫으로 시연 할 수 있습니다.
class MyClass {
public $myArray = array();
public function updateArray($newValue) {
$arguments = func_get_args();
if($arguments) {
foreach ($arguments as $argument) {
$this->myArray[] = $argument;
}
}
}
public function showArray() {
foreach($this->myArray as $arrayValue) {
echo "<li>";
echo $arrayValue;
echo "</li>";
}
}
}
$var = new MyClass();
$var->updateArray("Value 1", "Value2", "Value 3");
$var->showArray();
두 번째 아이디어 : 값 배열 전달은 아래 스 니펫으로 설명 할 수 있습니다.
class MyClass {
public $myArray = array();
/**
* UPDATES THE INTERNAL ARRAY USING WHATEVER VALUES PASSED IN AS ARGUMENT(S)
* IN THIS CASE, YOU COULD PASS AS MANY ARGUMENTS AS YOU WISH AS STRING-VALUES...
* @param $newValue
*/
public function updateArray($newValue) {
$arguments = func_get_args();
if($arguments) {
foreach ($arguments as $argument) {
$this->myArray[] = $argument;
}
}
}
/**
* UPDATES THE INTERNAL ARRAY USING A COLLECTION: AN ARRAY OF VALUES
* @param array $collection
*/
public function updateArrayFromCollection(array $collection) {
if($collection) {
foreach ($collection as $value) {
$this->myArray[] = $value;
}
}
}
public function showArray() {
foreach($this->myArray as $arrayValue) {
echo "<li>";
echo $arrayValue;
echo "</li>";
}
}
}
$var = new MyClass();
$var->updateArrayFromCollection(["Value 1", "Value2", "Value 3"]);
$var->showArray();
-------------------다음과 같이 사용할 수 있습니다.
public function updateArray() {
if (func_num_args() > 0) {
$args = func_get_args();
foreach ($args as $arg) {
$this->myArray[] = $arg;
}
}
}
오류를 포함 할 수 있도록 코드를 시도하지 않았습니다.
-------------------public function showArray() {
foreach($this->myArray as $arrayValue) {
$array_collect[] = $arrayValue;
}
}
그런 다음 인쇄
$array = Implode (',',$array_collect);
echo $array;
Implode 기능 사용에 따라 수집 정렬
출처
https://stackoverflow.com/questions/39915896