En muchas ocasiones en Drupal 8 nos vemos en la necesidad de "limpiar" un array para iterar sobre el mismo, por ejemplo, nos encontramos en ocasiones con arrays que en su clave cuentan con el carácter # al comienzo y queremos quedarnos únicamente los elementos que no tienen dicha almohadilla, para ello podemos hacer lo siguiente:
foreach (Element::children($questions) as $key) {
$question = $questions[$key];
}
de este modo logramos que en $question no haya ya elementos del array con clave #texto. En otras ocasiones necesitamos limpiar el array para quedarnos únicamente con los valores array numéricos del mismo, por ejemplo imaginemos que de primeras nos encontramos ante un array de este tipo:
$question[0];
$question[1];
$question[add_more];
Si queremos únicamente quedarnos con los numéricos podemos hacer lo siguiente:
// Quitar elementos no numéricos de un array
array_filter($questions, 'is_int', ARRAY_FILTER_USE_KEY);
Tras esto nos quedaría de este modo
$question[0];
$question[1];