On Thu, 2005-07-21 at 13:37 -0700, Dan Trainor wrote:
> Hello, all -
> 
> I've been looking around for a function that would tell me if a $value
> in a $key=>$value array was empty, and I could not find one.  So I
> decided to make my own.  Even if I am re-inventing the wheel, I thought
> that the practice might be good for me.
> 
> However, my function doesn't *quite* work, and I'm having a difficult
> time finding out why.  The code is as follows:
> 
> function findMissingVals($workingArray) {
>       $newcount = count($workingArray);
>       for ($i = 0; $i <= $newcount; $i++) {
>               if (empty($workingArray['$i'])) {
>                       return 1;
>               }
>       }
> }
> 
> So it takes in $workingArray as an array, runs a loop, checks $i, yada
> yada.  The thing is, that sometimes the function does not return 1, even
> when it should.
> 
> I was hoping some experienced eyes could take a gander at this and give
> me some pointers.
> 
> Thanks!
> -dant
> 
----------------------------8<-----------------------------
function findMissingVals( &$workingArray ) {
        $arrayMissingVals = Array();
        foreach( $arrayMissingVals as $key => $value ) {
                if( is_array( $value ) ) {
                        array_merge( $arrayMissingVals, findMissingVals( 
&$value ) );
                }
                else if( empty( $value ) ) {
                        array_push( $arrayMissingVals, &$workingArray[$key] );
                }

        }

        return( $arrayMissingVals );
}
----------------------------8<-----------------------------

Recursive function that will check arrays and return references to the
empty keys. Then, you can do whatever you like.

If you need something simpler, do

----------------------------8<-----------------------------
if( in_array( $workingArray, null ) ) {
        // Do something
}
----------------------------8<-----------------------------

Same goes for 0, '', etc.

Good luck!

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

Reply via email to