1--TEST-- 2Bug #66964 (mb_convert_variables() cannot detect recursion) 3--SKIPIF-- 4<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?> 5--FILE-- 6<?php 7$a[] = &$a; 8var_dump(mb_convert_variables('utf-8', 'auto', $a)); 9var_dump(mb_convert_variables('utf-8', 'utf-8', $a)); 10 11unset($a); 12$a[] = '日本語テキスト'; 13$a[] = '日本語テキスト'; 14$a[] = '日本語テキスト'; 15$a[] = '日本語テキスト'; 16var_dump(mb_convert_variables('utf-8', 'utf-8', $a), $a); 17 18$a[] = &$a; 19var_dump(mb_convert_variables('utf-8', 'utf-8', $a), $a); 20 21?> 22--EXPECTF-- 23Warning: mb_convert_variables(): %s on line %d 24bool(false) 25 26Warning: mb_convert_variables(): %s on line %d 27bool(false) 28string(5) "UTF-8" 29array(4) { 30 [0]=> 31 string(21) "日本語テキスト" 32 [1]=> 33 string(21) "日本語テキスト" 34 [2]=> 35 string(21) "日本語テキスト" 36 [3]=> 37 string(21) "日本語テキスト" 38} 39 40Warning: mb_convert_variables(): %s on line %d 41bool(false) 42array(5) { 43 [0]=> 44 string(21) "日本語テキスト" 45 [1]=> 46 string(21) "日本語テキスト" 47 [2]=> 48 string(21) "日本語テキスト" 49 [3]=> 50 string(21) "日本語テキスト" 51 [4]=> 52 *RECURSION* 53} 54