|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits              [2019-09-30 12:59 UTC] nikic@php.net
 
-Status: Open
+Status: Verified
  [2019-09-30 13:03 UTC] nikic@php.net
 
-Assigned To:
+Assigned To: nikic
  [2019-09-30 13:07 UTC] nikic@php.net
  [2019-09-30 13:07 UTC] nikic@php.net
 
-Status: Verified
+Status: Closed
 | |||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 03:00:01 2025 UTC | 
Description: ------------ Passing 2nd argument as an array to strtr() - replace substrings Here array keys are integers. Say an interger (7111222333000001) is the find item, consider it as string its length is 16. Say the subject is Hello which length is 5. In this case, strtr leaks memory. However, when the subject is longer than the find item, there is no memory leak. Also when the find is string there too no memory leak. Test script: --------------- $find_replace = array(); $_a = 7111222333000001;//find - consider as string it's length is 16 $_b = 5000001; for($j=0;$j<10;$j++){ $find_replace[$_a + $j] = $_b + $j; } function test_strtr($subject, $find_replace){ $memory_before = memory_get_usage(); for($i=0;$i<50000;$i++){ strtr($subject, $find_replace); } echo round( (memory_get_usage() - $memory_before) /(1024*1024), 4 ).' MB '; } test_strtr('Hello', $find_replace);//subject is shorter then find(length 5), memory leaks test_strtr('Lorem ipsum dolor', $find_replace);//subject is lengthier then find(length 17), no memory leak