homepage Welcome to WebmasterWorld Guest from 54.204.249.184
register, free tools, login, search, pro membership, help, library, announcements, recent posts, open posts,
Become a Pro Member

Home / Forums Index / Code, Content, and Presentation / PHP Server Side Scripting
Forum Library, Charter, Moderators: coopster & jatar k

PHP Server Side Scripting Forum

    
testing for array of empty values
sssweb




msg:4408605
 4:50 pm on Jan 19, 2012 (gmt 0)

Is there an easy test to see if an array has only empty values?

empty($x) doesn't work for: $x = array('',' ','');

This works, but I'm looking for something simpler:

if ( !trim(implode($x)) )...

 

eelixduppy




msg:4408626
 5:48 pm on Jan 19, 2012 (gmt 0)

>> something simpler

How so? That's pretty simple. There are no built-in PHP functions that do what you're looking for that I know of. If you're looking for brevity, then why not write your own function for this?

penders




msg:4408660
 7:05 pm on Jan 19, 2012 (gmt 0)

I would agree, that looks pretty simple and fits your example.

But your example seems to be a special case, since a string containing a space is not strictly 'empty' as far as PHP is concerned. So even if there was a PHP function to perform this action, I would guess it would fail.

Likewise, 'empty' values includes '0' and empty array's which would cause your current test to fail.

sssweb




msg:4408676
 7:56 pm on Jan 19, 2012 (gmt 0)

OK - just wanted to be sure I wasn't missing a built-in function similar to 'empty'.

penders




msg:4419520
 12:11 pm on Feb 20, 2012 (gmt 0)

Just encountered this again... an alternative... if you want to check that an array contains only empty values (that is PHP's definition of empty [uk.php.net]) then you could use array_filter() [uk.php.net], omitting the 2nd (callback) argument. The default behaviour is to filter out empty elements. So, this becomes...

$x = array('',0,0.0,'0',null,false,array()); 
echo !array_filter($x) ? 'EMPTY' : 'NOT empty'; // EMPTY


NB: This does not consider strings of spaces to be empty as in the OP. You would need to provide a simple callback function in order to check for that.

Global Options:
 top home search open messages active posts  
 

Home / Forums Index / Code, Content, and Presentation / PHP Server Side Scripting
rss feed

All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
© Webmaster World 1996-2014 all rights reserved