#47691 [Opn->Ver]: strtr bug. Not replace unicode values from array, in binary string.
| From: | fa@php.net | Date: | Tue, 05 May 2009 22:41:37 +0000 |
| Subject: | #47691 [Opn->Ver]: strtr bug. Not replace unicode values from array, in binary string. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-136816@lists.php.net to get a copy of this message | ||
ID: 47691
Updated by: fa@php.net
Reported By: strike at true-vision dot net
-Status: Open
+Status: Verified
Bug Type: Strings related
Operating System: Fedora 8.0
PHP Version: 6CVS-2009-03-17 (snap)
New Comment:
Verified on Debian lenny:
(fa@debian):(~/code/src/php6) $ ~/local/php6/bin/php
~/tmp/strtr_47691.php
string(3) "AAA"
array(1) {
[u"AAA"]=>
unicode(3) "BBB"
}
string(3) "AAA"
Seems to be ok on FreeBSD 7.1:
(fa@freebsd):(/usr/home/fa/code/php6) $ ~/local/test/bin/php
~/tmp/strtr_47691.php
string(3) "AAA"
array(1) {
["AAA"]=>
string(3) "BBB"
}
string(3) "BBB"
Previous Comments:
------------------------------------------------------------------------
[2009-03-18 14:09:20] strike at true-vision dot net
Description:
------------
Found bug in function strtr...
Not replace unicode values from array, in binary string.
Reproduce code:
---------------
<?php
$a = (binary)"AAA"; // In my code I use file_get_contents
// function retrun binary value
$b = array("AAA" => "BBB");
$c = strtr($a, $b);
var_dump($a);
var_dump($b);
var_dump($c);
?>
Expected result:
----------------
string(3) "AAA"
array(1) { [u"AAA"]=> unicode(3) "BBB" }
string(3) "BBB"
Actual result:
--------------
string(3) "AAA"
array(1) { [u"AAA"]=> unicode(3) "BBB" }
string(3) "AAA"
------------------------------------------------------------------------
[2009-03-17 14:22:09] strike at true-vision dot net
Description:
------------
Found bug in function strtr...
Not replace unicode values from array, in binary string.
Reproduce code:
---------------
<php
$a = (binary)"AAA"; // In my code I use file_get_contents
// function retrun finary value
$b = array("AAA" => "BBB");
$c = strtr($a, $b);
var_dump($a);
var_dump($b);
var_dump($c);
?>
Expected result:
----------------
string(3) "AAA"
array(1) { [u"AAA"]=> unicode(3) "BBB" }
string(3) "AAA"
Actual result:
--------------
This is bug ?
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=47691&edit=1