简体   繁体   English

如何搜索多维数组?

[英]How can I search a multidimensional array?

I am trying to find a value in array by searching different 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 = 111? 我正在尝试查找当引擎ID = 111时的triggerOn值?

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 因此,如果我具有值111,那么我需要返回07/26/2013 04:32 PM如果我具有值112,那么我需要返回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. 但这不起作用。

function findEngine_id($engine, $array){
    foreach($array as $item){
        if($item['engine_id'] == $engine) return $item['triggerOn'];

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

another way to do is : 另一种方法是:

// let's assume your array is called $myArray


for($i=0; $i < count($myArray) ; $i++ ){
  if($myArray[$i]['engine_id'] == '111'){
    return  $myArray[$i]['triggerOn'];
    break;
  }
}

in a function it gives this : 在一个函数中,它给出了:

function find_engine($engine, $myArray){
    for($i=0; $i < count($myArray) ; $i++ ){
      if($myArray[$i]['engine_id'] == $engine){
        return  $myArray[$i]['triggerOn'];
        break;
      }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM