Suppose I have an array like this:
$array = array("a","b","c","d","a","a");
and I want to get all the keys that have the value “a”.
I know I can get them using a while loop:
while ($a = current($array)) {
if ($a == 'a') {
echo key($array).',';
}
next($array);
}
How can I get them using a foreach loop instead?
I’ve tried:
foreach ($array as $a) {
if ($a == 'a') {
echo key($array).',';
}
}
and I got
1,1,1,
as the result.
If you would like all of the keys for a particular value, I would suggest using
array_keys, using the optionalsearch_valueparameter.Where
$resultbecomesIf you wish to use a
foreach, you can iterate through each key/value set, adding the key to a new array collection when its value matches your search:Where
$keysbecomes