Kevin Murphy wrote:
I'm wondering why this is.

$data = "";
$array = explode(",",$data);
$count = count($array);
$count will = 1

$data = "Test";
$array = explode(",",$data);
$count = count($array);
$count will = 1

$data = "Test,Test";
$array = explode(",",$data);
$count = count($array);
$count will = 2

Why doesn't the first one give me an answer of 0 instead of 1.
This:
   var_dump(explode(',',''));
Returns this:
   array(1) {
     [0]=>
     string(0) ""
   }

And oddly, This:
   var_dump(explode(',',NULL));
Returns this:
   array(1) {
     [0]=>
     string(0) ""
   }

That explains the count() result. It seems to me that the first case could go either way (The part of "" before the ',' is still ""), but I'm unable to think of a logical reason why the second doesn't return an empty array.
I know I could do a IF $data == "[empty]" and then not count if its empty and just set it to 0, but am wondering if there was a better way.
$array = empty($data) ? array() : explode(',',$data); /* That what you're looking for? */

jon

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to