Respostas:
hide()e unset() não são os mesmos. hide () é uma função Drupal e unset () é uma função php bruta.
unset()simplesmente destrói uma variável. Por exemplo,
<?php
$name = 'Drupal';
unset($name);
print $name; // this will result an error as $name is no longer set. `isset()` will return FALSE.
hide()NÃO destrói a variável. É útil marcar que uma matriz com capacidade de renderização já foi renderizada para não ser renderizada novamente .
simplesmente adiciona / substitui o argumento fornecido #printedcomo TRUE, drupal_renderou render()não executa as funções do tema novamente - em vez disso, usará a versão em cache, se disponível .
Um exemplo de caso de uso hide()seria ocultar o formulário de comentário em um modelo de nó e mostrá-lo em outro lugar no modelo. Você também achará útil ao alterar páginas ou blocos. NÃO faça unset()uma matriz de renderização se quiser usá-la em outro lugar.
Se você deseja ocultar algum elemento de formulário específico do usuário, mas ainda deseja manter a estrutura do formulário, defina #accesso elemento como FALSE.