Tenho ajudado a escrever um plug-in do WordPress (ainda não estou pronto para compartilhá-lo) e uma das tarefas necessárias é validar uma matriz de valores selecionados pelo usuário em relação a uma lista de valores válidos conhecidos. A matriz válida conhecida é, na verdade, um key=>value portanto, infelizmente, o array_values não ajudará a obter a lista simples que eu gostaria.


Em vez disso, foi necessária uma função personalizada mais avançada:



// http://php.net/manual/en/function.array-values.php
function array_values_recursive($array) {
  $flat = array();

  foreach($array as $value) {
    if (is_array($value)) {
        $flat = array_merge($flat, array_values_recursive($value));
    }
    else {
        $flat[] = $value;
    }
  }
  return $flat;
}


Essa função recursiva mergulha em matrizes, até mesmo key=>value arrays, para obter a lista final de valores. Obrigado, senhor PHP.net!