array_key_exists() - El Forum - 03-31-2010
[eluser]thevenin[/eluser]
My simple code checks if the array contains "hits" column and if not, then creates it for the first time by assigning a value to this column.
However after assigning this value the function array_key_exists() still "tells" in the next loop circulation that the "hits" key doesn't exist. Could you look and comment please?
Code: foreach($bets as $bet)
{
$hit = 0;
if($bet->homeGoals == $bet->homeScore && $bet->awayGoals == $bet->awayScore):
$hit = 1;
endif;
if($hit == 1)
{
if(array_key_exists('hits', $standings)):
$standings[$bet->username]["hits"] += 1;
echo '$hit=1, key_exists '.$bet->username.'<br/>';
else:
$standings[$bet->username]["hits"] = 1;
echo '$hit=1, not key_exists '.$bet->username.'<br/>';
endif;
}
else
{
if(!array_key_exists("hits",$standings)):
$standings[$bet->username]["hits"] = 0;
echo '$hit=0, not key_exists '.$bet->username.'<br/>';
endif;
}
}
The result of the code is:
Code: $hit = 0, not key_exists jack
$hit = 1, not key_exists jack <-- after this line the array_key_exists("hits",$standings) function should always return TRUE;
$hit = 0, not key_exists masta
$hit = 1, not key_exists skurwix
$hit = 0, not key_exists skurwix
$hit = 0, not key_exists zari
$hit = 0, not key_exists zari
$hit = 0, not key_exists masta
$hit = 0, not key_exists jack
$hit = 1, not key_exists masta
$hit = 0, not key_exists skurwix
$hit = 0, not key_exists zari
$hit = 0, not key_exists jack
$hit = 0, not key_exists skurwix
$hit = 1, not key_exists trolek
After the line I marked above the array_key_exists() function should not return FALSE anymore or maybe I misunderstood something?
Please comment guys.
array_key_exists() - El Forum - 03-31-2010
[eluser]Andrew Stilliard[/eluser]
Havent had a good look at your function yet, but have tried useing Code: print_r( $standings );
just before the if statement, so you can see exactly whats in that array.
array_key_exists() - El Forum - 03-31-2010
[eluser]thevenin[/eluser]
Code: Array ( [jack] => Array ( [points] => 13 ) )
$hit = 1, not key_exists jack
Array ( [jack] => Array ( [points] => 23 [hits] => 1 ) )
$hit = 0, not key_exists jack
Array ( [jack] => Array ( [points] => 23 [hits] => 0 ) [masta] => Array ( [points] => 10 ) )
$hit = 0, not key_exists masta
Array ( [jack] => Array ( [points] => 23 [hits] => 0 ) [masta] => Array ( [points] => 10 [hits] => 0 ) [skurwix] => Array ( [points] => 10 ) )
$hit = 0, not key_exists skurwix
Array ( [jack] => Array ( [points] => 23 [hits] => 0 ) [masta] => Array ( [points] => 10 [hits] => 0 ) [skurwix] => Array ( [points] => 20 [hits] => 0 ) )
$hit = 1, not key_exists skurwix
Array ( [jack] => Array ( [points] => 23 [hits] => 0 ) [masta] => Array ( [points] => 10 [hits] => 0 ) [skurwix] => Array ( [points] => 20 [hits] => 1 ) [zari] => Array ( [points] => 5 ) )
$hit = 0, not key_exists zari
Array ( [jack] => Array ( [points] => 23 [hits] => 0 ) [masta] => Array ( [points] => 10 [hits] => 0 ) [skurwix] => Array ( [points] => 20 [hits] => 1 ) [zari] => Array ( [points] => 15 [hits] => 0 ) )
$hit = 0, not key_exists zari
Array ( [jack] => Array ( [points] => 23 [hits] => 0 ) [masta] => Array ( [points] => 20 [hits] => 0 ) [skurwix] => Array ( [points] => 20 [hits] => 1 ) [zari] => Array ( [points] => 15 [hits] => 0 ) )
$hit = 0, not key_exists masta
Array ( [jack] => Array ( [points] => 33 [hits] => 0 ) [masta] => Array ( [points] => 20 [hits] => 0 ) [skurwix] => Array ( [points] => 20 [hits] => 1 ) [zari] => Array ( [points] => 15 [hits] => 0 ) )
$hit = 0, not key_exists jack
Array ( [jack] => Array ( [points] => 33 [hits] => 0 ) [masta] => Array ( [points] => 35 [hits] => 0 ) [skurwix] => Array ( [points] => 20 [hits] => 1 ) [zari] => Array ( [points] => 15 [hits] => 0 ) )
$hit = 1, not key_exists masta
Array ( [jack] => Array ( [points] => 33 [hits] => 0 ) [masta] => Array ( [points] => 35 [hits] => 1 ) [skurwix] => Array ( [points] => 20 [hits] => 1 ) [zari] => Array ( [points] => 15 [hits] => 0 ) )
$hit = 0, not key_exists skurwix
Array ( [jack] => Array ( [points] => 33 [hits] => 0 ) [masta] => Array ( [points] => 35 [hits] => 1 ) [skurwix] => Array ( [points] => 20 [hits] => 0 ) [zari] => Array ( [points] => 22 [hits] => 0 ) )
$hit = 0, not key_exists zari
Array ( [jack] => Array ( [points] => 38 [hits] => 0 ) [masta] => Array ( [points] => 35 [hits] => 1 ) [skurwix] => Array ( [points] => 20 [hits] => 0 ) [zari] => Array ( [points] => 22 [hits] => 0 ) )
$hit = 0, not key_exists jack
Array ( [jack] => Array ( [points] => 38 [hits] => 0 ) [masta] => Array ( [points] => 35 [hits] => 1 ) [skurwix] => Array ( [points] => 25 [hits] => 0 ) [zari] => Array ( [points] => 22 [hits] => 0 ) )
$hit = 0, not key_exists skurwix
Array ( [jack] => Array ( [points] => 38 [hits] => 0 ) [masta] => Array ( [points] => 35 [hits] => 1 ) [skurwix] => Array ( [points] => 25 [hits] => 0 ) [zari] => Array ( [points] => 22 [hits] => 0 ) [trolek] => Array ( [points] => 5 ) )
$hit = 1, not key_exists trolek
array_key_exists() - El Forum - 03-31-2010
[eluser]Andrew Stilliard[/eluser]
When you call Code: if(array_key_exists('hits', $standings)):
try changing it to Code: if(array_key_exists('hits', $standings[$bet->username])):
array_key_exists() - El Forum - 03-31-2010
[eluser]thevenin[/eluser]
Works perfectly!
Thanks Andrew.
|