annotate vendor/zendframework/zend-stdlib/src/SplStack.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2 /**
Chris@0 3 * Zend Framework (http://framework.zend.com/)
Chris@0 4 *
Chris@0 5 * @link http://github.com/zendframework/zf2 for the canonical source repository
Chris@0 6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
Chris@0 7 * @license http://framework.zend.com/license/new-bsd New BSD License
Chris@0 8 */
Chris@0 9
Chris@0 10 namespace Zend\Stdlib;
Chris@0 11
Chris@0 12 use Serializable;
Chris@0 13
Chris@0 14 /**
Chris@0 15 * Serializable version of SplStack
Chris@0 16 */
Chris@0 17 class SplStack extends \SplStack implements Serializable
Chris@0 18 {
Chris@0 19 /**
Chris@0 20 * Serialize to an array representing the stack
Chris@0 21 *
Chris@0 22 * @return array
Chris@0 23 */
Chris@0 24 public function toArray()
Chris@0 25 {
Chris@0 26 $array = [];
Chris@0 27 foreach ($this as $item) {
Chris@0 28 $array[] = $item;
Chris@0 29 }
Chris@0 30 return $array;
Chris@0 31 }
Chris@0 32
Chris@0 33 /**
Chris@0 34 * Serialize
Chris@0 35 *
Chris@0 36 * @return string
Chris@0 37 */
Chris@0 38 public function serialize()
Chris@0 39 {
Chris@0 40 return serialize($this->toArray());
Chris@0 41 }
Chris@0 42
Chris@0 43 /**
Chris@0 44 * Unserialize
Chris@0 45 *
Chris@0 46 * @param string $data
Chris@0 47 * @return void
Chris@0 48 */
Chris@0 49 public function unserialize($data)
Chris@0 50 {
Chris@0 51 foreach (unserialize($data) as $item) {
Chris@0 52 $this->unshift($item);
Chris@0 53 }
Chris@0 54 }
Chris@0 55 }