(That's definitely the best blog post title I've ever come up with...)
Messing with php arrays often messes with my head...
So I needed to search a multi-dimensional array and return the results in an easily accessible format.
A bit of research uncovered my new favourite friend, the Standard PHP Library (SPL) and specifically its RecursiveIteratorIterator class.
Basically to search through a multi-dimensional array and return one array with results in do the following:
$Iterator = new RecursiveIteratorIterator( new RecursiveArrayIterator( $multidimentionalarray ) );
foreach ( $Iterator as $i ){ $i_array = $Iterator ->getSubIterator(); if ( $i_array["id"] == [value you're searching for] ){ $outputArray[] = iterator_to_array( $i_array ); } }
var_dump( $outputArray ) // will output an array with your results.
This syntax was a bit confusing to me at first, but I gave it a try and it did exactly what it wanted...