phparraysmultidimensional-arrayfilter

Can I use array_search() to find a whole-row match in a 2d array?


I'm trying to search a array and navigate to the next and previous values

$ids = $res->result_array();

returns

array(3) {
  [0]=>
  array(1) {
    ["qid"]=>
    string(5) "63697"
  }
  [1]=>
  array(1) {
    ["qid"]=>
    string(5) "63706"
  }
  [2]=>
  array(1) {
    ["qid"]=>
    string(5) "63709"
  }
}

but when i try to search for the index it returns false

$curr_index = array_search($this->uri->segment(4), $q);

returns

bool(false) 

$this->uri->segment(4) is the qid.

I want to navigate with the array by increasing and decreasing by one so I can get the next and previous values.

Can someone please tell what am I doing wrong here?


Solution

  • You have an array of arrays, you could search it like this:

    $curr_index = array_search(array('qid' => $this->uri->segment(4)), $q);
    

    Where you are actually searching for an array instead of a string.

    Working example: http://codepad.viper-7.com/Ff0sAq