ID: 34409 User updated by: dskiles at docfinity dot com Reported By: dskiles at docfinity dot com -Status: Bogus +Status: Open Bug Type: Strings related Operating System: Windows XP sp2 PHP Version: 5.0.5 New Comment:
I tried this with the latest CVS and got the same result. Single character strings: ???? MultiCharacter strings: aa bb cc dd Multiple Newlines: a b c d Previous Comments: ------------------------------------------------------------------------ [2005-09-07 16:17:35] [EMAIL PROTECTED] Works just fine here. Also, line endings on windows are \r\n, not \n. ------------------------------------------------------------------------ [2005-09-07 16:14:56] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip And can't you really come up with a shorter reproduce script? ------------------------------------------------------------------------ [2005-09-07 15:50:30] dskiles at docfinity dot com Description: ------------ I've been running into a problem where a single character string will turn into a '?' character when I attempt to concatenate it or interpolate it with a single "\n" character. If I use a multi-character string or multiple "\n" characters I don't get '?' characters anymore. I'm running this from the console. Reproduce code: --------------- <?php class Environment { //todo: add persistance const ALLPAIRS = 0; const EXHAUSTIVE = 1; ///factors is a multidimenstional associative array. ///the key for the main array is the factor. The value of that key is a traditional array of values private $factors; ///FactorMaps are 1:1 concrete representations made out of the factors private $factorMaps; ///Mode states how FactorMaps are made from the factors ///Currently, allpairs and exhaustive are supported private $mode; public function __construct($mode=Environment::ALLPAIRS) { $this->factors = array(); $this->factorMaps = array(); $this->mode = $mode; } public function addFactorValues($factor, $values) { if (!isset($this->factors[$factor])) { $this->factors[$factor] = array(); } $this->factors[$factor] = array_merge($this->factors[$factor], $values); //todo: update the factormaps if any factors were added } public function getFactorValues($factor) { return $this->factors[$factor]; } } ?> ///////////////////////////////////////////// <?php require('../Environment.php'); $enviro = new Environment(); $enviro->addFactorValues('test', array('a', 'b', 'c', 'd')); foreach($enviro->getFactorValues('test') as $val) { echo("$val\n"); } ?> Expected result: ---------------- a b c d Actual result: -------------- ???? ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34409&edit=1