Try the array_search function.
From the first example in the manual:
<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
?>
A word of caution
When comparing the result, make sure to test explicitly for the value false
using the ===
operator.
Because arrays in PHP are 0-based, if the element you're searching for is the first element in the array, a value of 0 will be returned.
While 0 is a valid result, it's also a falsy value, meaning the following will fail:
<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('blue',$array);
if($key == false) {
throw new Exception('Element not found');
}
?>
This is because the ==
operator checks for equality (by type-juggling), while the ===
operator checks for identity.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…