public function assign($key, $value)
    {
        if ($this->$key === false) {
            $this->all[$key] = $value;
        } elseif (! is_array($this->$key)) {
            $this->all[$key] = array($this->$key, $value);
        } else {
            $this->all[$key][] = $value;
        }
    }
public function assign($key, $value)
    {
        if ($this->$key === false) {
            $this->all[$key] = $value;
        } elseif (! is_array($this->$key)) {
            $this->all[$key] = array($this->$key, $value);
        } else {
            $this->all[$key][] = $value;
        }
    }
public function assign ( $ key , $ value ) { if ( $ this -> $ key === false ) { $ this -> all [ $ key ] = $ value ; } elseif ( ! is_array ( $ this -> $ key ) ) { $ this -> all [ $ key ] = array ( $ this -> $ key , $ value ) ; } else { $ this -> all [ $ key ] [ ] = $ value ; } }
Sets the value in the argments object. If multiple values are added under
the same key, the key will give an array value in the order they were
added.

@param string $key The variable to assign to.
@param string value   The value that would norally be colected on the
command line.
Sets the value in the argments object . If multiple values are added under the same key the key will give an array value in the order they were added .