【php开源代码栏目提醒】:网学会员,鉴于大家对php开源代码十分关注,论文会员在此为大家搜集整理了“HashMap.class.php”一文,供大家参考学习!
<?php
// +----------------------------------------------------------------------
// | Think
PHP // +----------------------------------------------------------------------
// | Copyright (c) 2008 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// $Id$
/**
+------------------------------------------------------------------------------
* HashMap瀹炵幇绫?
+------------------------------------------------------------------------------
* @category Think
* @package Think
* @subpackage Util
* @author liu21st <liu21st@gmail.com>
* @version $Id$
+------------------------------------------------------------------------------
*/
class HashMap extends Base implements IteratorAggregate
{//绫诲畾涔夊紑濮?
/**
+----------------------------------------------------------
* 鍏冪礌闆嗘暟缁? +----------------------------------------------------------
* @var array
* @access protected
+----------------------------------------------------------
*/
protected $_values = array();
/**
+----------------------------------------------------------
* 鏋舵瀯鍑芥暟
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @param string $values 鍒濆鍖栨暟缁勫厓绱? +----------------------------------------------------------
*/
public function __construct($values = array())
{
if (!empty($values)) {
$this->_values = $values;
}
}
/**
+----------------------------------------------------------
* 鑾峰彇Iterator鍥犲瓙
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return Iterate
+----------------------------------------------------------
*/
public function getIterator()
{
return new ArrayObject($this->_values);
}
/**
+----------------------------------------------------------
* 娓呴櫎Map鏁版嵁
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
*/
public function clear()
{
$this->_values = array();
}
/**
+----------------------------------------------------------
* 妫鏌ap涓槸鍚︽寚瀹歬ey
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @param string $key 閿悕
+----------------------------------------------------------
* @return boolen
+----------------------------------------------------------
*/
public function containsKey($key)
{
return array_key_exists($key, $this->_values);
}
/**
+----------------------------------------------------------
* Map鏄惁鍖呭惈鎸囧畾value
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @param string $value 閿? +----------------------------------------------------------
* @return boolen
+----------------------------------------------------------
*/
public function containsValue($value)
{
return in_array($value, $this->_values);
}
/**
+----------------------------------------------------------
* Map涓槸鍚﹀寘鍚寚瀹氱殑key鍜屽搴旂殑value
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @param string $key 閿悕
* @param string $value 閿? +----------------------------------------------------------
* @return boolen
+----------------------------------------------------------
*/
public function contains($key, $value)
{
if ($this->containsKey($key))
{
return ($this->get($key) == $value);
}
return false;
}
/**
+----------------------------------------------------------
* 鏍规嵁Key鍙栧緱Map涓殑value
+----------