<?php $array = array('koala', 'kangaroo', 'wombat', 'wallaby', 'emu', 'kiwi', 'kookaburra', 'platypus'); /*** create the array object ***/ $arrayObj = new ArrayObject($array); /*append a new value in the array*/ $arrayObj->append('dingo'); /*Sort a arrayobject */ $arrayObj->natcasesort(); /*Get the iterator obj*/ $iterator = $arrayObj->getIterator(); $arrayObj->offsetUnset(5); if ($arrayObj->offsetExists(4)) { echo "Offset exitst" . "<br>"; } /*Count the total array*/ echo "Total amount of " . $arrayObj->count() . "<br>"; /*Get traverse the whole the array*/ while ($iterator->valid()) { echo $iterator->key() . ' => ' . $iterator->current() . '<br />'; $iterator->next(); }
<?php //重点是演示ArrayObject中的natcasesort()方法 $array = array('koala', 'kangaroo', 'wombat', 'wallaby', 'emu', 'kiwi', 'kookaburra', 'platypeus'); $array_obj = new ArrayObject($array); $array_obj->natcasesort(); for ($iterator = $array_obj->getIterator(); $iterator->valid(); $iterator->next()) { echo $iterator->key(), "=>", $iterator->current(), "\n"; }
public function natcasesort() { $this->lazyLoadArray(); parent::natcasesort(); }
<?php /* Prototype : int ArrayObject::natcasesort() * Description: proto int ArrayIterator::natcasesort() Sort the entries by values using case insensitive "natural order" algorithm. * Source code: ext/spl/spl_array.c * Alias to functions: */ echo "*** Testing ArrayObject::natcasesort() : basic functionality ***\n"; $ao1 = new ArrayObject(array('boo10', 'boo1', 'boo2', 'boo22', 'BOO5')); $ao2 = new ArrayObject(array('a' => 'boo10', 'b' => 'boo1', 'c' => 'boo2', 'd' => 'boo22', 'e' => 'BOO5')); var_dump($ao1->natcasesort()); var_dump($ao1); var_dump($ao2->natcasesort('blah')); var_dump($ao2); ?> ===DONE===
/** * Implementation of ArrayObject::natcasesort(). * * This method is a case insensitive version of ArrayObject::natsort. * * This method implements a sort algorithm that orders alphanumeric strings * in the way a human being would while maintaining key/value associations. * This is described as a "natural ordering". * * No value is returned. */ public function natcasesort() { $this->arrayObject->natcasesort(); }