ID:               34752
 Updated by:       [EMAIL PROTECTED]
 Reported By:      trash at jennyfm dot net
-Status:           Open
+Status:           Feedback
 Bug Type:         Scripting Engine problem
 Operating System: linux 2.6.13
 PHP Version:      5.0.5
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.0-win32-latest.zip




Previous Comments:
------------------------------------------------------------------------

[2005-10-06 15:35:31] trash at jennyfm dot net

right.... 

this is my result. 
http://wp1011644.wp021.webpack.hosteurope.de/muellercms/buii.php

------------------------------------------------------------------------

[2005-10-06 15:33:30] [EMAIL PROTECTED]

"Returns wrong" ?
What's the expected result, what's the actual result you get?

This is what I got with 5.0.6-dev:
Array
(
    [0] => Test Object
        (
            [blc:protected] =>
            [bl:protected] =>
        )

    [1] => Test Object
        (
            [blc:protected] =>
            [bl:protected] =>
        )

)
Array
(
    [0] => Test Object
        (
            [blc:protected] =>
            [bl:protected] =>
        )

    [1] => Test Object
        (
            [blc:protected] =>
            [bl:protected] =>
        )

)
Is this "wrong" or "right" ?

------------------------------------------------------------------------

[2005-10-06 15:23:38] trash at jennyfm dot net

hmmpf ;D hope this is short enough

<?php
echo "<pre>";
class Test{

    protected $blc;
    protected $bl;

public function test2 (){

    $this->bl['0'] =& new $this;
    $this->bl['1'] =&new  $this;

    print_r($this->bl);
    foreach ($this->bl as $key => $value){

        $this->blc[$key] =true;
    }
    //here it returns wrong bl in 5.0.5, in <=5.0.4 it works fine
    print_r($this->bl);
}
}
$buii = new Test();
$buii->test2();
echo "</pre>";
?>

------------------------------------------------------------------------

[2005-10-06 13:40:01] [EMAIL PROTECTED]

I was asking about a SHORT reproduce script.
Those scripts are definitely not short.
All those classes and other stuff have nothing to do with `foreach`.

------------------------------------------------------------------------

[2005-10-06 13:35:39] trash at jennyfm dot net

The main script is here (with wrong result in php 5.0.5):
wp1011644.wp021.webpack.hosteurope.de/muellercms/test.php
source:
wp1011644.wp021.webpack.hosteurope.de/muellercms/test.php_
wp1011644.wp021.webpack.hosteurope.de/muellercms/include/function_template5.inc.php_
wp1011644.wp021.webpack.hosteurope.de/muellercms/include/function_templateext5.inc.php_
template file (not relevant):
wp1011644.wp021.webpack.hosteurope.de/muellercms/templates/test.tpl_

The error seems to be in function_templateext5::_initTemplate after the
foreach print_r($this->bl) returns overwritten result. In php 5.0.4 the
result looks like:
Array
(
    [testsub] => PDTemplateExt Object
        (   [removeEmptyBlocks] => 1
            [delimiterStart:protected] => {
            [delimiterEnd:protected] => }
            [t:protected] => )..........
test
buii 
before the foreach the $test->bl seems to be ok in both versions(5.0.4
and 5.0.5). Same problem i have with while (list ($key, $value) = each
($this->bl)), in 5.0.4 it works and in 5.0.5 not. Server config is here
wp1011644.wp021.webpack.hosteurope.de/phpinfo.php

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/34752

-- 
Edit this bug report at http://bugs.php.net/?id=34752&edit=1

Reply via email to