Using array_search for multi value search

前端 未结 3 2034
日久生厌
日久生厌 2021-01-25 07:48
  $array_subjected_to_search =array(
  array(
          \'name\' => \'flash\',
          \'type\' => \'hero\'
      ),

  array(
          \'name\' => \'zoom\',         


        
3条回答
  •  萌比男神i
    2021-01-25 07:59

    The array_search function accepts an array as parameters the following will work for the use case you provided.

    $array_subjected_to_search =array(
      array(
        'name' => 'flash',
        'type' => 'hero'
      ),
      array(
        'name' => 'zoom',
        'type' => 'villian'
      ),
      array(
        'name' => 'snart',
        'type' => 'antihero'
      ),
      array(
        'name' => 'flash',
        'type' => 'camera'
      )
    );
    $compare = array(
        'name'=>'flash',
        'type'=>'camera'
    );
    $key = array_search($compare, $haystack);
    var_dump($haystack[$key]);
    

    Note: your current search will not function correctly it will always return the zero index because the array_search returns 0 or false.

    $key = array_search('flash', array_column($array_subjected_to_search, 'name'));
    var_dump($array_subjected_to_search[$key]);
    

提交回复
热议问题