public static function pull($key, $default = NULL) {

		if(false === is_string($key)) {
			return trigger_error(sprintf('Argument 1 passed to %s() must be of the type string, "%s" given', __METHOD__, gettype($key)), E_USER_ERROR);
		}

		if(true === isset(static :: $data[$key])) {
			
			$default = static :: get($key);
			static :: add($key, null, -1);
		}

		return $default;
	}
public static function pull($key, $default = NULL) {

		if(false === is_string($key)) {
			return trigger_error(sprintf('Argument 1 passed to %s() must be of the type string, "%s" given', __METHOD__, gettype($key)), E_USER_ERROR);
		}

		if(true === isset(static :: $data[$key])) {
			
			$default = static :: get($key);
			static :: add($key, null, -1);
		}

		return $default;
	}
public static function pull ( $ key , $ default = NULL ) { if ( false === is_string ( $ key ) ) { return trigger_error ( sprintf ( 'Argument 1 passed to %s() must be of the type string, "%s" given' , __METHOD__ , gettype ( $ key ) ) , E_USER_ERROR ) ; } if ( true === isset ( static :: $ data [ $ key ] ) ) { $ default = static :: get ( $ key ) ; static :: add ( $ key , null , - 1 ) ; } return $ default ; }
Retrieve and delete an item
@param string $key
@param default $mixed
@return mixed
Retrieve and delete an item