protected function setValue($key, $value, array &$array = array())
    {
        $keys = $this->parseKey($key, $this->separator);
        $pointer = &$array;

        while (count($keys) > 0) {
            $key = array_shift($keys);
            $pointer[$key] = (isset($pointer[$key]) ? $pointer[$key] : array());
            $pointer = &$pointer[$key];
        }

        $pointer = $value;
        return $array;
    }
protected function setValue($key, $value, array &$array = array())
    {
        $keys = $this->parseKey($key, $this->separator);
        $pointer = &$array;

        while (count($keys) > 0) {
            $key = array_shift($keys);
            $pointer[$key] = (isset($pointer[$key]) ? $pointer[$key] : array());
            $pointer = &$pointer[$key];
        }

        $pointer = $value;
        return $array;
    }
protected function setValue ( $ key , $ value , array & $ array = array ( ) ) { $ keys = $ this -> parseKey ( $ key , $ this -> separator ) ; $ pointer = & $ array ; while ( count ( $ keys ) > 0 ) { $ key = array_shift ( $ keys ) ; $ pointer [ $ key ] = ( isset ( $ pointer [ $ key ] ) ? $ pointer [ $ key ] : array ( ) ) ; $ pointer = & $ pointer [ $ key ] ; } $ pointer = $ value ; return $ array ; }
Set nested array values based on a separated key

@param  string  $key
@param  mixed   $value
@param  array   $array
@return array
Set nested array values based on a separated key