Neste post, vamos mostrar a utilização de Lambda functions e também da função array_walk_recursive(). Uma função lambda é uma função anômima que basicamente podemos gravar em uma variável e passar ela como parâmetro para uma outra função.

A função array_walk_recursive() percorre vetores de maneira recursive, podendo aplicar uma função existente em cada nodo do vetor.

Nesse exemplo, vamos criar um vetor qualquer. Então vamos percorrer ele de maneira recusiva, convertendo cada um de seus elementos por meio da função base64_encode(). Mas no lugar de aplicar uma função existente criada pelo método tradicional, vamos criar uma função Lambda (anônima), armazenar essa função na variável $callback e aplicar essa função como parâmetro da array_walk_recursive().

Ao final, vamos dar um var_dump() no vetor para conferir se os valores foram mesmo convertidos.

  1. <?php
  2. $vetor['nome']     = 'Maria';
  3. $vetor['telefone'] = '234234234';
  4. $vetor['endereco'] = 'Rua das flores';
  5. $callback = function (&$item$key) {
  6.         $item base64_encode($item);
  7.     };
  8. array_walk_recursive($vetor$callback);
  9. var_dump($vetor);
  10. ?>


Comentários

Lucas Gomes:
 


Você precisa realizar login pelo Facebook para enviar posts, comentários, apagar posts ou baixar posts em PDF. Para isso, clique no botão "Login no facebook".



Receba os posts por email: (?)

Conheça o Adianti Framework para PHP:

  • Desenvolvimento com componentes;
  • Formulários e datagrids.
  • Versão Web e Desktop (Gtk);
  • Multiplataforma;
  • Desenhe as interfaces;
  • IDE própria (Adianti Studio).
Ver detalhes...

Tenha mais produtividade com:

Adianti Studio: IDE para PHP

  • Leve e rápido;
  • Syntax highlight;
  • Gerência de projetos;
  • Navegação em banco de dados;
  • Autocomplete e plugins.
Mais informações...