I have an array:
$list = array('string1', 'string2', 'string3');
I want to get the index for a given value (i.e. 1 for string2 and 2 for string3)
All I want is the position of the strings in the array
- string1 is 0
- string2 is 1
- string3 is 2
How to achieve this?
Advertisement
Answer
array_search is the way to do it.
array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) : mixed
From the docs:
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
You could loop over the array manually and find the index but why do it when there’s a function for that. This function always returns a key and it will work well with associative and normal arrays.