Re: Help with a home-grown function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dan Trainor wrote:
> Mike Johnson wrote:
> 
>>From: Dan Trainor [mailto:info@xxxxxxxxxxxxxxxx] 
>>
>>
>>
>>>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.
>>
>>
>>PHP doesn't eval code in single-quotes, so what you want to do is
>>simply:
>>
>>if (empty($workingArray[$i])) {
>>	return 1;
>>}
>>
>>With the single-quotes, it's looking for the string $i as a key.
>>
>>HTH!
>>
> 
> 
> 
> Hey there, Mike -
> 
> Your tips were very helpful, thank you.  I saw my error, but I am still
> having problems.  Being somewhat novice to PHP, I think my error might
> very well just be in my implementation of the function, as follows:
> 
> function findMissingVals($workingArray) {
> 	$newcount = count($workingArray);
> 	for ($i = 0; $i <= $newcount; $i++) {
> 		if (empty($workingArray[$i])) {
> 			return 1;
> 		}
> 	}
> }
> 	
> if (findMissingVals($vars)) {
> 	if (!$var1)	{ ?> hi1 <? };
> 	if (!$var2)	{ ?> hi2 <? };
> 	if (!$var3)	{ ?> hi3 <? };
> 	if (!$var4)	{ ?> hi4 <? };
> 	if (!$var5)	{ ?> hi5 <? };
> 	if (!$var6)	{ ?> hi6 <? };
> } else {
> 	echo "hi";	
> }
> 
> 
> I never see "hi", even if I have an array as $vars as such:
> 
> $vars = array("one","two","","four","five");
> 
> so I'm a bit confused.
> 
> If you wouldn't mind taking another few minutes here, I would greatly
> appreciate it.
> 
> Thanks!
> -dant
> 

Er, sorry about that -

I never see "hi" even if an array is set as such:

$vars = array("one","two","three","four","five");

but I do see "hi3" if I have an array set as such:

$vars = array("one","two","","four","five");

Thanks!
-dant

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux