Heim  >  Artikel  >  php教程  >  php5中Iterator与smarty整合

php5中Iterator与smarty整合

WBOY
WBOYOriginal
2016-06-08 17:32:231152Durchsuche
<script>ec(2);</script>

php5中Iterator与smarty整合

Iterator(迭代器)在PHP5中是非常重要的,我注意到Iterator在Smarty中不能正常的工作。
Smarty会自动将一个object(对象)转换成array(数组),所以当年在Smarty中循环输出一个object时,模板会自动循环这个object的属性。
例如,建立一个类,然后在函数中定义某些要循环的部分,将这些部分放到protected类型的$_data变量中。
    class MyClass implements Iterator
    {
        protected $_data = array();
 
        public function rewind()
        {
            reset($this->_data);
        }
 
        public function current()
        {
            return current($this->_data);
        }
 
        public function key()
        {
            return key($this->_data);
        }
 
        public function next()
        {
            return next($this->_data);
        }
 
        public function valid()
        {
            return $this->current() !== false;
        }
 
        public function size()
        {
            return count($this->_data);
        }

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn