Forum Moderators: coopster
foreach ($genders[$lang] as $value) {
if($value==true) {
echo key($genders[$lang]);
}
next($genders[$lang]);
}
Array ( [m] => 1 [f] => 1 [n] => 1 [c] => [mp] => [ma] => [mi] => )
next() is what's messing things up. The foreach loop automatically advances to the next element in the array, so there's no need for you to do it "manually". if( $value == true ) and if( $value ) will work if $value is true, 1, or "1", but it will also "work" if $value is "foo". That's probably not a good thing. if( $value == true ) should be if( $value === 1 ) (if $value is an actual integer) or, even better, if( 1 === $value ). Getting into the habit of placing the variable on the right means that you avoid this sort of "whoops!" moment: if( $value = 1 ).