Simply use func_get_args if you wish to pass the other arguments as string values; otherwise pass an Array of values and Process it. The first Idea could be demonstrated with this snippet:
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();
The second idea: passing an Array of values could be demonstrated by the snippet below:
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();