File "SplFixedArray.php"

Full path: /home/kosmetik/public_html/wp-includes/sodium_compat/src/PHP52/SplFixedArray.php
File size: 2.14 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

if (class_exists('SplFixedArray')) {
    return;
}
class SplFixedArray implements Iterator, ArrayAccess, Countable
{
    private $internalArray = array();
    private $size = 0;
    public function __construct($size = 0)
    {
        $this->size = $size;
        $this->internalArray = array();
    }
    public function count()
    {
        return count($this->internalArray);
    }
    public function toArray()
    {
        ksort($this->internalArray);
        return (array) $this->internalArray;
    }
    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;
    }
    public function getSize()
    {
        return $this->size;
    }
    public function setSize($size)
    {
        $this->size = $size;
        return true;
    }
    public function offsetExists($index)
    {
        return array_key_exists((int) $index, $this->internalArray);
    }
    public function offsetGet($index)
    {
        return $this->internalArray[(int) $index];
    }
    public function offsetSet($index, $newval)
    {
        $this->internalArray[(int) $index] = $newval;
    }
    public function offsetUnset($index)
    {
        unset($this->internalArray[(int) $index]);
    }
    public function rewind()
    {
        reset($this->internalArray);
    }
    public function current()
    {
        return current($this->internalArray);
    }
    public function key()
    {
        return key($this->internalArray);
    }
    public function next()
    {
        next($this->internalArray);
    }
    public function valid()
    {
        if (empty($this->internalArray)) {
            return false;
        }
        $result = next($this->internalArray) !== false;
        prev($this->internalArray);
        return $result;
    }
    public function __wakeup()
    {
    }
}