trueskill/PHPSkills/HashMap.php

49 lines
881 B
PHP

<?php
namespace Moserware\Skills;
class HashMap
{
private $_hashToValue = array();
private $_hashToKey = array();
public function getValue($key)
{
return $this->_hashToValue[self::getHash($key)];
}
public function setValue($key, $value)
{
$hash = self::getHash($key);
$this->_hashToKey[$hash] = $key;
$this->_hashToValue[$hash] = $value;
return $this;
}
public function getAllKeys()
{
return \array_values($this->_hashToKey);
}
public function getAllValues()
{
return \array_values($this->_hashToValue);
}
public function count()
{
return \count($this->_hashToKey);
}
private static function getHash($key)
{
if(\is_object($key))
{
return \spl_object_hash($key);
}
return $key;
}
}
?>