phparraysmultidimensional-arrayfilter

Access an accompanying value in the first qualifying row of a 2d array


I am trying to find a value in array by searching on a different column value.

This is my array:

Array
(
    [0] => Array
        (
            [triggerOn] => 07/19/2013 04:32 PM
            [isAppointment] => 0
            [engine_id] => 112
        )
    [1] => Array
        (
            [triggerOn] => 07/26/2013 04:32 PM
            [isAppointment] => 1
            [engine_id] => 111
        )
)

I am trying to find the value of triggerOn when engine_id equals 111?

So if I have the value 111 then I need to return 07/26/2013 04:32 PM.

If I have the value 112, then I need to return 07/19/2013 04:32 PM.

How can I do this?

This is what I have tried so far:

function returnValueOfArray($arr, $val) {
    foreach ($arr as $v) {
        foreach ($v as $sub) {
            if ($val == $sub)
                return $v['triggerOn'];
        }
    }
    return 'Nothing Found';
}

but this is not working.


Solution

  • function search_in_array($array, $engine_id){
     foreach($array as $key => $val){
      if($engine_id == $val['engine_id']){
       return $val['triggerOn'];
      }
     }
    }