From: Trevor O. <tr...@gm...> - 2009-02-20 23:52:47
|
It seems like reasonable behavior to me. An empty string is a valid array value for explode. For example, if you exploded "||", it should return three empty strings. And from php.net: Return Values If *delimiter* is an empty string (""), *explode()* will return *FALSE*. If *delimiter* contains a value that is not contained in *string* , then * explode()* will return an array containing *string* . 2009/2/20 Arlo Leach <ar...@ar...> > Hi folks, > > Consider the following PHP code, which explodes an empty string: > > $string = ""; > $array = explode("|", $string); > print_r($array); > print "Length: ".count($array); > > I would expect this to output an empty array: > > Array ( ) Length: 0 > > But it actually outputs: > > Array ( [0] => ) Length: 1 > > Does anyone else find this odd? It has bitten me a few times lately, when I > test the existence of data with a count(), or try to process data with a > FOR > loop. I end up writing this a lot to get the expected results: > > $array = ($string) ? explode(",", $string) : array() ; > > I was considering logging a bug report but wondered what your thoughts > were. > > Cheers, > -Arlo > > _______________________________ > > Arlo Leach > 773.769.6106 > http://arlomedia.com > > > > > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, > CA > -OSBC tackles the biggest issue in open source: Open Sourcing the > Enterprise > -Strategies to boost innovation and cut costs with open source > participation > -Receive a $600 discount off the registration fee with the source code: > SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > chiPHPug-discuss mailing list > chi...@li... > https://lists.sourceforge.net/lists/listinfo/chiphpug-discuss > -- -Trevor Oldak |