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="&#269;esky" class="vlajka"
src="images/flag-cs.png"> &#268;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="&#269;esky" class="vlajka"
src="images/flag-cs.png"> &#268;eština</a><br>
&#268;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

Reply via email to