_hashToValue[$hash]; return $hashValue; } public function setValue(&$key, &$value) { $hash = self::getHash($key); $this->_hashToKey[$hash] = &$key; $this->_hashToValue[$hash] = &$value; return $this; } public function &getAllKeys() { $keys = &array_values($this->_hashToKey); return $keys; } public function getAllValues() { $values = &array_values($this->_hashToValue); return $values; } public function count() { return count($this->_hashToKey); } private static function getHash(&$key) { if (is_object($key)) { return spl_object_hash($key); } return $key; } }