Download wp-includes/sodium_compat/src/PHP52/SplFixedArray.php from AZILS/Word: direct link, hf CLI and curl.
- Browser
- Download file 4.12 kB
-
https://huggingface.co/spaces/AZILS/Word/resolve/main/wp-includes/sodium_compat/src/PHP52/SplFixedArray.php
- Command line
-
hf download hf://spaces/AZILS/Word/wp-includes/sodium_compat/src/PHP52/SplFixedArray.php
-
curl -L -o SplFixedArray.php https://huggingface.co/spaces/AZILS/Word/resolve/main/wp-includes/sodium_compat/src/PHP52/SplFixedArray.php
4.12 kB
| if (class_exists('SplFixedArray')) { | |
| return; | |
| } | |
| /** | |
| * The SplFixedArray class provides the main functionalities of array. The | |
| * main differences between a SplFixedArray and a normal PHP array is that | |
| * the SplFixedArray is of fixed length and allows only integers within | |
| * the range as indexes. The advantage is that it allows a faster array | |
| * implementation. | |
| */ | |
| class SplFixedArray implements Iterator, ArrayAccess, Countable | |
| { | |
| /** @var array<int, mixed> */ | |
| private $internalArray = array(); | |
| /** @var int $size */ | |
| private $size = 0; | |
| /** | |
| * SplFixedArray constructor. | |
| * @param int $size | |
| */ | |
| public function __construct($size = 0) | |
| { | |
| $this->size = $size; | |
| $this->internalArray = array(); | |
| } | |
| /** | |
| * @return int | |
| */ | |
| public function count() | |
| { | |
| return count($this->internalArray); | |
| } | |
| /** | |
| * @return array | |
| */ | |
| public function toArray() | |
| { | |
| ksort($this->internalArray); | |
| return (array) $this->internalArray; | |
| } | |
| /** | |
| * @param array $array | |
| * @param bool $save_indexes | |
| * @return SplFixedArray | |
| * @psalm-suppress MixedAssignment | |
| */ | |
| public static function fromArray(array $array, $save_indexes = true) | |
| { | |
| $self = new SplFixedArray(count($array)); | |
| if($save_indexes) { | |
| foreach($array as $key => $value) { | |
| $self[(int) $key] = $value; | |
| } | |
| } else { | |
| $i = 0; | |
| foreach (array_values($array) as $value) { | |
| $self[$i] = $value; | |
| $i++; | |
| } | |
| } | |
| return $self; | |
| } | |
| /** | |
| * @return int | |
| */ | |
| public function getSize() | |
| { | |
| return $this->size; | |
| } | |
| /** | |
| * @param int $size | |
| * @return bool | |
| */ | |
| public function setSize($size) | |
| { | |
| $this->size = $size; | |
| return true; | |
| } | |
| /** | |
| * @param string|int $index | |
| * @return bool | |
| */ | |
| public function offsetExists($index) | |
| { | |
| return array_key_exists((int) $index, $this->internalArray); | |
| } | |
| /** | |
| * @param string|int $index | |
| * @return mixed | |
| */ | |
| public function offsetGet($index) | |
| { | |
| /** @psalm-suppress MixedReturnStatement */ | |
| return $this->internalArray[(int) $index]; | |
| } | |
| /** | |
| * @param string|int $index | |
| * @param mixed $newval | |
| * @psalm-suppress MixedAssignment | |
| */ | |
| public function offsetSet($index, $newval) | |
| { | |
| $this->internalArray[(int) $index] = $newval; | |
| } | |
| /** | |
| * @param string|int $index | |
| */ | |
| public function offsetUnset($index) | |
| { | |
| unset($this->internalArray[(int) $index]); | |
| } | |
| /** | |
| * Rewind iterator back to the start | |
| * @link https://php.net/manual/en/splfixedarray.rewind.php | |
| * @return void | |
| * @since 5.3.0 | |
| */ | |
| public function rewind() | |
| { | |
| reset($this->internalArray); | |
| } | |
| /** | |
| * Return current array entry | |
| * @link https://php.net/manual/en/splfixedarray.current.php | |
| * @return mixed The current element value. | |
| * @since 5.3.0 | |
| */ | |
| public function current() | |
| { | |
| /** @psalm-suppress MixedReturnStatement */ | |
| return current($this->internalArray); | |
| } | |
| /** | |
| * Return current array index | |
| * @return int The current array index. | |
| */ | |
| public function key() | |
| { | |
| return key($this->internalArray); | |
| } | |
| /** | |
| * @return void | |
| */ | |
| public function next() | |
| { | |
| next($this->internalArray); | |
| } | |
| /** | |
| * Check whether the array contains more elements | |
| * @link https://php.net/manual/en/splfixedarray.valid.php | |
| * @return bool true if the array contains any more elements, false otherwise. | |
| */ | |
| public function valid() | |
| { | |
| if (empty($this->internalArray)) { | |
| return false; | |
| } | |
| $result = next($this->internalArray) !== false; | |
| prev($this->internalArray); | |
| return $result; | |
| } | |
| /** | |
| * Do nothing. | |
| */ | |
| public function __wakeup() | |
| { | |
| // NOP | |
| } | |
| } |