protected function save(array &$keys, &$data, $value)
    {
        $key = array_shift($keys);

        if (! isset($data[$key]))
        {
            $data[$key] = array();
        }

        if (empty($keys))
        {
            return $data[$key] = $value;
        }

        return $this->save($keys, $data[$key], $value);
    }
protected function save(array &$keys, &$data, $value)
    {
        $key = array_shift($keys);

        if (! isset($data[$key]))
        {
            $data[$key] = array();
        }

        if (empty($keys))
        {
            return $data[$key] = $value;
        }

        return $this->save($keys, $data[$key], $value);
    }
protected function save ( array & $ keys , & $ data , $ value ) { $ key = array_shift ( $ keys ) ; if ( ! isset ( $ data [ $ key ] ) ) { $ data [ $ key ] = array ( ) ; } if ( empty ( $ keys ) ) { return $ data [ $ key ] = $ value ; } return $ this -> save ( $ keys , $ data [ $ key ] , $ value ) ; }
Saves the specified key in the list of data.

@param  array &$keys
@param  array &$data
@param  mixed $value
@return mixed
Saves the specified key in the list of data .