CMap
包 | system.collections |
---|---|
继承 | class CMap » CComponent |
实现 | IteratorAggregate, Traversable, ArrayAccess, Countable |
子类 | CAttributeCollection, CConfiguration, CCookieCollection |
可用自 | 1.0 |
版本 | $Id$ |
You can access, add or remove an item with a key by using itemAt, add, and remove. To get the number of the items in the map, use getCount. CMap can also be used like a regular array as follows,
$map[$key]=$value; // add a key-value pair unset($map[$key]); // remove the value with the specified key if(isset($map[$key])) // if the map contains the key foreach($map as $key=>$value) // traverse the items in the map $n=count($map); // returns the number of items in the map
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
count | integer | the number of items in the map | CMap |
iterator | CMapIterator | Returns an iterator for traversing the items in the list. | CMap |
keys | array | the key list | CMap |
readOnly | boolean | whether this map is read-only or not. | CMap |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CMap |
__get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
__isset() | Checks if a property value is null. | CComponent |
__set() | Sets value of a component property. | CComponent |
__unset() | Sets a component property to be null. | CComponent |
add() | Adds an item into the map. | CMap |
asa() | Returns the named behavior object. | CComponent |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
clear() | Removes all items in the map. | CMap |
contains() | CMap | |
copyFrom() | Copies iterable data into the map. | CMap |
count() | Returns the number of items in the map. | CMap |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
getCount() | CMap | |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getIterator() | Returns an iterator for traversing the items in the list. | CMap |
getKeys() | CMap | |
getReadOnly() | CMap | |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasProperty() | Determines whether a property is defined. | CComponent |
itemAt() | Returns the item with the specified key. | CMap |
mergeArray() | Merges two arrays into one recursively. | CMap |
mergeWith() | Merges iterable data into the map. | CMap |
offsetExists() | Returns whether there is an element at the specified offset. | CMap |
offsetGet() | Returns the element at the specified offset. | CMap |
offsetSet() | Sets the element at the specified offset. | CMap |
offsetUnset() | Unsets the element at the specified offset. | CMap |
raiseEvent() | Raises an event. | CComponent |
remove() | Removes an item from the map by its key. | CMap |
toArray() | CMap |
属性详情
the number of items in the map
Returns an iterator for traversing the items in the list. This method is required by the interface IteratorAggregate.
the key list
whether this map is read-only or not. Defaults to false.
方法详情
public void __construct(array $data=NULL, boolean $readOnly=false)
| ||
$data | array | the intial data. Default is null, meaning no initialization. |
$readOnly | boolean | whether the list is read-only |
Constructor. Initializes the list with an array or an iterable object.
public void add(mixed $key, mixed $value)
| ||
$key | mixed | key |
$value | mixed | value |
Adds an item into the map. Note, if the specified key already exists, the old value will be overwritten.
public void clear()
|
Removes all items in the map.
public boolean contains(mixed $key)
| ||
$key | mixed | the key |
{return} | boolean | whether the map contains an item with the specified key |
public void copyFrom(mixed $data)
| ||
$data | mixed | the data to be copied from, must be an array or object implementing Traversable |
Copies iterable data into the map. Note, existing data in the map will be cleared first.
public integer count()
| ||
{return} | integer | number of items in the map. |
Returns the number of items in the map. This method is required by Countable interface.
public integer getCount()
| ||
{return} | integer | the number of items in the map |
public CMapIterator getIterator()
| ||
{return} | CMapIterator | an iterator for traversing the items in the list. |
Returns an iterator for traversing the items in the list. This method is required by the interface IteratorAggregate.
public array getKeys()
| ||
{return} | array | the key list |
public boolean getReadOnly()
| ||
{return} | boolean | whether this map is read-only or not. Defaults to false. |
public mixed itemAt(mixed $key)
| ||
$key | mixed | the key |
{return} | mixed | the element at the offset, null if no element is found at the offset |
Returns the item with the specified key. This method is exactly the same as offsetGet.
public static array mergeArray(array $a, array $b)
| ||
$a | array | array to be merged to |
$b | array | array to be merged from |
{return} | array | the merged array (the original arrays are not changed.) |
Merges two arrays into one recursively.
参见
public void mergeWith(mixed $data, boolean $recursive=true)
| ||
$data | mixed | the data to be merged with, must be an array or object implementing Traversable |
$recursive | boolean | whether the merging should be recursive. |
Merges iterable data into the map.
Existing elements in the map will be overwritten if their keys are the same as those in the source.
If the merge is recursive, the following algorithm is performed:
- the map data is saved as $a, and the source data is saved as $b;
- if $a and $b both have an array indxed at the same string key, the arrays will be merged using this algorithm;
- any integer-indexed elements in $b will be appended to $a and reindxed accordingly;
- any string-indexed elements in $b will overwrite elements in $a with the same index;
public boolean offsetExists(mixed $offset)
| ||
$offset | mixed | the offset to check on |
{return} | boolean |
Returns whether there is an element at the specified offset. This method is required by the interface ArrayAccess.
public mixed offsetGet(integer $offset)
| ||
$offset | integer | the offset to retrieve element. |
{return} | mixed | the element at the offset, null if no element is found at the offset |
Returns the element at the specified offset. This method is required by the interface ArrayAccess.
public void offsetSet(integer $offset, mixed $item)
| ||
$offset | integer | the offset to set element |
$item | mixed | the element value |
Sets the element at the specified offset. This method is required by the interface ArrayAccess.
public void offsetUnset(mixed $offset)
| ||
$offset | mixed | the offset to unset element |
Unsets the element at the specified offset. This method is required by the interface ArrayAccess.
public mixed remove(mixed $key)
| ||
$key | mixed | the key of the item to be removed |
{return} | mixed | the removed value, null if no such key exists. |
Removes an item from the map by its key.
protected void setReadOnly(boolean $value)
| ||
$value | boolean | whether this list is read-only or not |
public array toArray()
| ||
{return} | array | the list of items in array |