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

Reply via email to