Finding specific value in ASSOC array

Hi there,

I’m having quite a lot of trouble with my script. I’m using in_array() which apparently after research have found out this does not work with associative arrays.

First let me tell you what I want to accomplish: All I need to do is find a specific ‘id’ from the associative array, there could be multiples id’s but only one with a specific value which I’m searching for.

Again after doing a few google searches I tried looking for different ways. array_key_exists() was recommended but doesn’t that only look for the key so if I look for a specific id = 2 it only looks for id. Or does nit not?

Just used a loop instead. thanks

Maybe array_search()? If you have a multi-dimension array, it looks like the comments has a solution for that as well.

this is very unclear. Post your code so that we can understand your(: question. I think you want to count values, try array_count_values look it up maybe it is what you need.

I’ve just decided to go with a loop. My dataset won’t be any larger than 0-10 and rarely, rarely over 10. But thanks.

Two functions you must know when using arrays: array_keys and array_values. When using assoc arrays, you can split the keys and values up into separate non-assoc arrays.

This should do it.


$values = array(
'bob' => 'friend',
'sam' => 'enemy'
);

$isEnemyPresent = in_array('enemy', array_values($values));

Of course, if the value you are looking for is nested even deeper, it would be wiser to create a recursive method to dig into it.