ID: 26994 User updated by: kavol at email dot cz Reported By: kavol at email dot cz -Status: Feedback +Status: Open Bug Type: Arrays related Operating System: linux (any?) PHP Version: 4.3.4 New Comment:
unfortunately, I am unable to build the apache module from that source ... "configure --with-apxs2=/usr/sbin/apxs2" says this: [...] checking for Apache 2.0 filter-module support via DSO through APXS... no checking for Apache 2.0 handler-module support via DSO through APXS... expr: non-numeric argument ./configure: line 5114: test: : integer expression expected ./configure: line 5116: test: : integer expression expected yes [...] which seems to be a bit suspicious (although the result is "yes") and then "make" goes well except that the module is missing ... I got cli version (working...) but that's all I'll try to work it out asap, until then I can't confirm if the CVS version is ok for me, sorry ... Previous Comments: ------------------------------------------------------------------------ [2004-01-21 11:55:49] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Works fine with latest CVS of PHP4. ------------------------------------------------------------------------ [2004-01-21 11:02:56] kavol at email dot cz Description: ------------ after extract()ing an array containing a "key" => "data" with "key" being the same name as in $_SESSION, not only $key = "data", but the content of $_SESSION["key"] gets overwritten with "data" too Reproduce code: --------------- $jazyky = array (array ("jazyk" => "Čeština", "kod" => "cs", "jak" => "česky"), array ("jazyk" => "English", "kod" => "en", "jak" => "English")); $_SESSION["jazyk"] = "cs"; $jazyk = $_SESSION["jazyk"]; // this IS NOT assigment by reference ! (from manual: "the assignment copies the original variable to the new one") echo $_SESSION["jazyk"]; foreach ($jazyky as $j) { extract ($j); echo "<a href='?jazyk=$kod'><img alt=\"$jak\" class=\"vlajka\" src=\"images/flag-$kod.png\"> $jazyk</a><br>"; echo $_SESSION["jazyk"]; }; $jazyk = $_SESSION["jazyk"]; // this is the problem - I wanted to restore the previosly overwritten $jazyk but I found $_SESSION["jazyk"] to be overwritten too! Expected result: ---------------- cs <a href='?jazyk=cs'><img alt="česky" class="vlajka" src="images/flag-cs.png"> Čeština</a><br> cs <a href='?jazyk=en'><img alt="English" class="vlajka" src="images/flag-en.png"> English</a><br> cs Actual result: -------------- cs <a href='?jazyk=cs'><img alt="česky" class="vlajka" src="images/flag-cs.png"> Čeština</a><br> Čeština <a href='?jazyk=en'><img alt="English" class="vlajka" src="images/flag-en.png"> English</a><br> English ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=26994&edit=1