Class CStack
CStack implements a stack.
The typical stack operations are implemented, which include CStack::push()
,
CStack::pop()
and CStack::peek()
. In addition, CStack::contains()
can be used to
check if an item is contained in the stack. To obtain the number of the items in
the stack, check the getCount Count property.
Items in the stack may be traversed using foreach as follows,
foreach($stack as $item) ...
-
CComponent
-
CStack
implements
IteratorAggregate,
Countable
Methods summary
public
|
#
__construct( array $data = null )
Constructor. Initializes the stack with an array or an iterable object.
Constructor. Initializes the stack with an array or an iterable object.
Parameters
- $data
array $data the initial data. Default is null, meaning no initialization.
Throws
CException
If data is not null and neither an array nor an iterator.
|
public
array
|
#
toArray( )
Returns
array the list of items in stack
|
public
|
#
copyFrom( mixed $data )
Copies iterable data into the stack. Note, existing data in the list will be
cleared first.
Copies iterable data into the stack. Note, existing data in the list will be
cleared first.
Parameters
- $data
mixed $data the data to be copied from, must be an array or object implementing
Traversable
Throws
CException
If data is neither an array nor a Traversable.
|
public
|
#
clear( )
Removes all items in the stack.
Removes all items in the stack.
|
public
boolean
|
#
contains( mixed $item )
Parameters
- $item
mixed $item the item
Returns
boolean whether the stack contains the item
|
public
mixed
|
#
peek( )
Returns the item at the top of the stack. Unlike CStack::pop() , this method
does not remove the item from the stack.
Returns the item at the top of the stack. Unlike CStack::pop() , this method
does not remove the item from the stack.
Returns
mixed item at the top of the stack
Throws
|
public
mixed
|
#
pop( )
Pops up the item at the top of the stack.
Pops up the item at the top of the stack.
Returns
mixed the item at the top of the stack
Throws
|
public
|
#
push( mixed $item )
Pushes an item into the stack.
Pushes an item into the stack.
Parameters
- $item
mixed $item the item to be pushed into the stack
|
public
Iterator
|
#
getIterator( )
Returns an iterator for traversing the items in the stack. This method is
required by the interface IteratorAggregate.
Returns an iterator for traversing the items in the stack. This method is
required by the interface IteratorAggregate.
Returns
Iterator
an iterator for traversing the items in the stack.
Implementation of
|
public
integer
|
#
getCount( )
Returns the number of items in the stack.
Returns the number of items in the stack.
Returns
integer the number of items in the stack
|
public
integer
|
#
count( )
Returns the number of items in the stack. This method is required by
Countable interface.
Returns the number of items in the stack. This method is required by
Countable interface.
Returns
integer number of items in the stack.
Implementation of
|
Methods inherited from CComponent
__call(),
__get(),
__isset(),
__set(),
__unset(),
asa(),
attachBehavior(),
attachBehaviors(),
attachEventHandler(),
canGetProperty(),
canSetProperty(),
detachBehavior(),
detachBehaviors(),
detachEventHandler(),
disableBehavior(),
disableBehaviors(),
enableBehavior(),
enableBehaviors(),
evaluateExpression(),
getEventHandlers(),
hasEvent(),
hasEventHandler(),
hasProperty(),
raiseEvent()
|
Magic properties summary
public
Iterator
|
$iterator
|
#
An iterator for traversing the items in the stack.
An iterator for traversing the items in the stack.
|
public
integer
|
$count
|
#
The number of items in the stack.
The number of items in the stack.
|