Вы уверены, что массив параметров имеет тот же порядок $ m? Может быть, вы ваш
echo $m[$c][$o];
преобразуется в $ m [0] ['gallery'], которая, очевидно, пуста.
Вы можете попробовать разные решения, для меня, хорошее (может быть, не очень эффективное) должно быть так:
for($c=0, $limit=count($c); $c < $limit; $c++)
if (array_search(key($m[$c]), $options))
echo current($m[$c]);
Если вы хотите использовать свой подход, выровняйте массив следующим образом:
foreach ($m as $o)
$flattenedArray[key($o)]=current($o);
foreach ($options as $o)
echo $flattenedArray($o);
Тем не менее, при этом удаляются дубликаты голосов исходного массива, если такие дубликаты есть.