Você está aqui: PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Usando a função array_walk() para aplicar uma função a cada um dos elementos de um array

Quantidade de visualizações: 7960 vezes
Em algumas situações nós gostaríamos de acessar os elementos de um array individualmente e processá-los em uma função personalizada. Isso pode ser feito com o auxílio da função array_walk(). Esta função recebe um array e uma função que será aplicada a cada um dos elementos do array. Veja um trecho de código no qual testamos se o valor do elemento atual é par. Se for nós adicionamos 2 ao seu valor:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?
  // função personalizada que será aplicada a cada um dos
  // elementos do array fornecido como argumento
  function adicionar_valor(&$valor, $chave){
    if($valor % 2 == 0){
      $valor += 2;
    } 
  }  

  // vamos declarar e inicializar um array de inteiros
  $valores = array(9, 2, 6, 11, 7, 6);

  // vamos listar os valores dos elementos no array
  echo "Elementos no array:<br>";
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }

  // vamos aplicar uma função personalizada a cada um
  // dos elementos do array
  array_walk($valores, "adicionar_valor");
  
  echo "<br><br>Depois de array_walk():<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
?>

Quando executarmos este código teremos o seguinte resultado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Elementos no array:
9 - 2 - 6 - 11 - 7 - 6 - 

Depois de array_walk():
9 - 4 - 8 - 11 - 7 - 8 - 

Note que a função personalizada que fornecemos à array_walk() automaticamente possui dois parâmetros, a saber: &$valor e $chave. $valor é fornecido como referência, o que significa que qualquer alteração no valor do elemento atual será refletido no array original.

Há ainda a possibilidade de um terceiro parâmetro, que são dados adicionais que podemos passar para a função de callback. Veja um exemplo no qual atribuimos o valor 0 a cada um dos elementos cujo valor é menor que o valor passado como argumento para a função personalizada:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?
  // função personalizada que será aplicada a cada um dos
  // elementos do array fornecido como argumento
  function zerar_menores(&$valor, $chave, $numero){
    if($valor < $numero){
      $valor = 0;
    } 
  }  

  // vamos declarar e inicializar um array de inteiros
  $valores = array(9, 2, 6, 11, 7, 6);

  // vamos listar os valores dos elementos no array
  echo "Elementos no array:<br>";
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }

  // vamos aplicar uma função personalizada a cada um
  // dos elementos do array. Neste exemplo nós vamos zerar
  // todos os elementos menores que o valor fornecido
  $valor = 7;
  array_walk($valores, "zerar_menores", $valor);
  
  echo "<br><br>Depois de array_walk():<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
?>


Link para compartilhar na Internet ou com seus amigos:

PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como excluir um diretório usando a função rmdir() do PHP

Quantidade de visualizações: 15814 vezes
Diretórios podem ser excluídos usando-se a função rmdir(). Esta função recebe o nome do diretório a ser excluído e retorna um valor boolean informando o sucesso ou não da operação. Veja que só é possível excluir um diretório se este estiver vazio e se você tiver as permissões necessárias para tal tarefa.

Veja um trecho de código no qual excluimos um diretório no diretório public_html:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  // exclui o diretório "imagens"
  $diretorio = "/site/public_html/imagens";
  
  if(rmdir($diretorio)){
    echo "Diretório excluído com sucesso.";
  }
  else{
    echo "Não foi possível excluir o diretório.";
  }
?>

Ao executar este código PHP nós teremos o seguinte resultado:

Diretório excluído com sucesso.

Seja cuidadoso. Se você não tiver as permissões adequadas para excluir um diretório, a seguinte mensagem de erro será exibida:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Warning: rmdir(/home/public_html/imagens) 
[function.rmdir]: Permission denied in 
/home/public_html/testes.php on line 6
Não foi possível excluir o diretório.



PHP ::: Dicas & Truques ::: Strings e Caracteres

PHP para iniciantes - Como substituir substrings considerando maiúsculas e minúsculas usando a função str_replace() do PHP

Quantidade de visualizações: 7 vezes
A função str_replace() da linguagem PHP é muito útil quando precisamos efetuar substituições de substrings em uma string, ou seja, precisamos substituir partes de uma palavra, frase ou texto. No entanto, temos que ficar atentos ao fato de que esta função diferencia letras maiúsculas de minúsculas.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $frase = "Jsp? Gosto de programar em JSP";
  echo "Original: " . $frase;
  $frase = str_replace("JSP", "PHP", $frase);
  echo "<br>Depois da substituição: " . $frase;
?>
 
</body>
</html>

Ao executar este código PHP nós teremos o seguinte resultado:

Original: Jsp? Gosto de programar em JSP
Depois da substituição: Jsp? Gosto de programar em PHP


PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como testar se um diretório existe em PHP usando a função file_exists()

Quantidade de visualizações: 18874 vezes
Em algumas situações nós precisamos verificar se um determinado diretório existe no sistema antes de efetuarmos alguma operação. Para isso nós podemos usar a função file_exists(). Esta função retorna um valor true se o diretório existir e false em caso contrário.

Veja um código PHP completo demonstrando o seu uso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  $diretorio = "arquivo/imagens";

  if(file_exists($diretorio)){
    echo "O diretório já existe.";
  }
  else{
    echo "O diretório não existe ainda.";
  }
?>



Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

O projeto de instalação hidrossanitária

Em relação ao histograma, considere as seguintes sentenças:

I - Histograma consiste em um gráfico que apresenta a distribuição de frequências de uma variável por meio de retângulos justapostos, feitos sobre as classes dessa variável, sendo que a área de cada retângulo é proporcional à frequência observada da correspondente classe.

II - Histogramas são obrigatórios em todos os projetos civis, sendo, inclusive, exigidos pelos órgãos para liberação do habite-se;

III - Histogramas são recomendáveis apenas em projetos muito grandes ou de grande complexidade.

Assinale a alternativa correta:

A) Apenas as sentenças I e II estão corretas.

B) Apenas as sentenças II e III estão corretas.

C) Apenas a sentença I está correta.

D) Apenas a sentença III está correta.

E) Todas as sentenças estão corretas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Evolução das estruturas

O concreto armado, no qual barras de aço são inseridas nas peças de concreto, foi desenvolvido na década de 1850. A junção do aço ao concreto contribui na melhoria do desempenho estrutural do concreto em relação à:

Selecione a resposta:

A) Resistência à compressão.

B) Resistência à tração.

C) Resistência à umidade.

D) Resistência ao fogo.

E) Resistência à infiltração.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

var palavra = 'b' + 'a' + + 'a' + 'a';
palavra = palavra.toLowerCase();
document.write(palavra);

Qual é o resultado de sua execução?

A) baaa.

B) banana.

C) anana.

D) bananas.

E) Um erro de execução.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares intermediários

Pilares são classificados conforme suas solicitações iniciais e sua esbeltez, e esses fatores são considerados na etapa de dimensionamento e detalhamento. O índice de esbeltez dos pilares é uma medida mecânica que permite determinar a facilidade de um determinado pilar em se encurvar.

Você é um engenheiro civil que foi convidado para dar uma palestra sobre projeto estrutural de pilares de concreto armado. Na sessão das perguntas, um participante apontou três dúvidas:

I. No pilar intermediário, devido à continuidade de vigas e lajes sobre o pilar, os momentos fletores de 1ª ordem são nulos apenas na direção x.

II. Se o pilar for quadrado, deve existir pelo menos uma barra em cada vértice.

III. O índice de esbeltez não depende do formato da área da seção transversal do pilar.

É correto o que se afirma em:

A) I, apenas.

B) II, apenas.

C) III, apenas.

D) I e II, apenas.

E) II e III, apenas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Locação da obra

Para a fase de locação da obra, é indispensável o emprego da(o) ______________.

Assinale a alternativa que completa a frase.

A) Concreto.

B) Instalação elétrica provisória.

C) Topografia.

D) Canteiro mobilizado.

E) Entrada de água provisória.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de PHP

Veja mais Dicas e truques de PHP

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 28 usuários muito felizes estudando em nosso site.