You want to know if a value is in an array. If the value is in the array, you want to know its key.
Use array_search(). It returns the key of the found value. If the value is not in the array, it returns false.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN"> <head> <title>PHP</title> <meta Name="Author" Content="Hann So"> </head> <body> <p> <?php $fruits = array('red'=>'Apples', 'green'=>'Grapes', 'yellow'=>'Bananas', 'orange'=>'Oranges'); print_r($fruits); $fruit = 'Bananas'; echo "<p><b>Use array_search() to check for bananas.</b></p>"; $position = array_search($fruit, $fruits); /* Use the !== check against false because if your string is found in the array at position 0, the if evaluates to a logical false, which isn't what is meant. */ if ($position !== false) { echo "The color of $fruit is $position.<br />"; } else { echo "There're no $fruit.<br />"; } $fruit = 'Pears'; echo "<p><b>Use array_search() to check for pears.</b></p>"; $position = array_search($fruit, $fruits); if ($position !== false) { echo "The color of $fruit is $position.<br />"; } else { echo "There're no $fruit.<br />"; } ?> </p> </body> </html> |