HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux newsites.squeezer-software.com 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/sites/ileskneiss/wp-content/plugins/learnpress/inc/abstracts/abstract-array-access.php
<?php

/**
 * Class LP_Array_Access
 */
class LP_Array_Access {

	/**
	 * @var array
	 */
	protected $_data = array();

	/**
	 * @var int
	 */
	protected $_position = 0;

	/**
	 * LP_Array_Access constructor.
	 *
	 * @param $data
	 */
	public function __construct( $data ) {
		$this->_data = is_array( $data ) ? $data : (array) $data;
	}

	public function offsetExists( $offset ) {
		if ( $offset ) {
			return array_key_exists( $offset, $this->_data );
		}

		return false;
	}

	public function offsetSet( $offset, $value ) {
		if ( $offset ) {
			$this->_data[ $offset ] = $value;
		}
	}

	public function offsetGet( $offset ) {
		return $this->offsetExists( $offset ) ? $this->_data[ $offset ] : false;
	}

	public function offsetUnset( $offset ) {
		if ( $this->offsetExists( $offset ) ) {
			unset( $this->_data[ $offset ] );

			return true;
		}

		return false;
	}

	/**
	 * Reset current position of answer options.
	 */
	public function rewind() {
		$this->_position = 0;
	}

	/**
	 * @return mixed
	 */
	public function current() {
		$values = array_values( $this->_data );

		return $values[ $this->_position ];
	}

	/**
	 * @return mixed
	 */
	public function key() {
		$keys = array_keys( $this->_data );

		return $keys[ $this->_position ];
	}

	/**
	 * Nex question.
	 */
	public function next() {
		++ $this->_position;
	}

	/**
	 * @return bool
	 */
	public function valid() {
		$values = array_values( $this->_data );

		return isset( $values[ $this->_position ] );
	}

	public function count() {
		return sizeof( $this->_data );
	}
}