问答详情
源自:3-4 MultipleIterator迭代器

Warning:  Illegal type returned from MultipleIterator::key() in D:\www\mytest\test.php 

按照老师的代发,我的运行出来是有这个warning,php版本5.3.28。这是怎么回事呢?

提问者:sparkinzy 2014-08-18 12:16

个回答

  • Peter
    2014-08-18 13:27:51

    请帮忙把test.php的代码贴一下,谢谢

  • sparkinzy
    2014-08-18 21:57:38

    最初的代码如下:
    
    $idIter=new ArrayIterator(array('01','02'));
    $nameIter=new ArrayIterator(array('张三','李四'));
    $mit=new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC);
    $mit->attachIterator($idIter,'id');
    $mit->attachIterator($nameIter,'name');
    foreach($mit as $key=>$val)
    {
      print_r($val);
    }

    以上代码会报warning错误


    但是,但我把$key删除过后,就没问题了~


    $idIter=new ArrayIterator(array('01','02'));

    $nameIter=new ArrayIterator(array('张三','李四'));

    $mit=new MultipleIterator(MultipleIterator::MIT_KEYS_ASSOC);

    $mit->attachIterator($idIter,'id');

    $mit->attachIterator($nameIter,'name');

    foreach($mit as $val)

    {

      print_r($val);

    }