Você está aqui: PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Escreva um programa PHP para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no array - Desafio de Programação Resolvido em PHP

Quantidade de visualizações: 1437 vezes
Pergunta/Tarefa:

Dado o seguinte vetor de inteiros:

// vamos declarar e construir um vetor de 8 inteiros
$valores = array(0, 3, 0, 5, 7, 4, 0, 9);
Escreva um programa PHP para mover todos os zeros para o final do vetor, ou seja, para a direita, sem alterar a ordem dos elementos diferentes de zero já presentes no array e sem criar um vetor adicional ou temporário.

Sua saída deverá ser parecida com:

Vetor na ordem original:

0   3   0   5   7   4   0   9   

Vetor com os zeros deslocados para o final:

3   5   7   4   9   0   0   0
Resposta/Solução:

Veja a resolução comentada deste exercício usando PHP:

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

<?php
  // Este código PHP pode ser executado tanto na linha
  // de comando quanto pelo servidor web
  
  // vamos declarar e construir um vetor de 8 inteiros
  $valores = array(0, 3, 0, 5, 7, 4, 0, 9);
  	
  // vamos mostrar o vetor na ordem original
  echo("Vetor na ordem original:\n");
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . "  ";
  }
    
  // vamos inicializar j como 0 para que ele aponte para
  // o primeiro elemento do vetor
  $j = 0;
    
  // agora o laço for percorre todos os elementos do vetor,
  // incrementanto a variável i e deixando o j em 0
  for($i = 0; $i < count($valores); $i++){
    // encontramos um valor que não é 0
    if($valores[$i] != 0){
      // fazemos a troca entre os elementos nos índices
      // i e j
      $temp = $valores[$i];
      $valores[$i] = $valores[$j];
      $valores[$j] = $temp;
      // e avançamos o j para o elemento seguinte
      $j++;
    }
  }
    
  // agora mostramos o resultado
  echo "\n\nVetor com os zeros deslocados para o final:\n";
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . "  ";
  }
?>

Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes.

Link para compartilhar na Internet ou com seus amigos:

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

Como criar diretórios usando PHP - Como usar a função mkdir() da linguagem PHP para criar diretórios - Revisada

Quantidade de visualizações: 24935 vezes
Diretórios podem ser criados com a função mkdir() do PHP. Esta função recebe o nome do diretório a ser criado, um modo que define as permissões de acesso ao diretório e um valor boolean que define se os diretórios fornecidos no primeiro parâmetro serão criados recursivamente. O valor padrão para o modo de acesso é 0777 (todos têm permissão de leitura, escrita e execução) e false para a criação de diretórios recursivamente.

Veja um trecho de código no qual criamos 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)
----------------------------------------------------------------------

<?
  // nome do diretório
  $diretorio = "/site/public_html/minhas_imagens";
   
  // cria o diretório com a permissão 0777
  if(mkdir($diretorio))
    echo "Diretório criado com sucesso.";
  else
    echo "Não foi possível criar o diretório.";
?>

Antes de criar um diretório, é preciso que você verifique se o diretório dentro do qual o novo diretório será criado apresenta as permissões adequadas, do contrário você terá a seguinte mensagem de erro:

Warning: mkdir() [function.mkdir]: Permission denied
in /site/public_html/testes.php on line 8
Não foi possível criar o diretório.

Veja agora como criar um diretório contendo dois sub-diretórios recursivamente:

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

<?
  // cria o diretório imagens contendo o subdiretório "fotos" 
  // e este conterá o sub-diretório 
  // "recentes"
  $diretorio = "/site/public_html/imagens/fotos/recentes";
   
  // cria o diretório com a permissão 0777
  if(mkdir($diretorio, 0777, true))
    echo "Diretório criado com sucesso.";
  else
    echo "Não foi possível criar o diretório.";
?>

Esta dica foi revisada, atualizada e testada com o PHP 8.


PHP ::: Desafios e Lista de Exercícios Resolvidos ::: PHP Básico

Exercícios Resolvidos de PHP - Como calcular salário líquido em PHP - Calculando o salário líquido de um professor

Quantidade de visualizações: 1768 vezes
Pergunta/Tarefa:

Escreva um programa PHP que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como double), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como double). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real).

Sua saída deverá ser parecida com:

Informe o valor da hora aula: 28
Informe o número de horas trabalhadas no mês: 12
Informe o percentual de desconto do INSS: 8
Salário Bruto: R$ 336,00
Total de Descontos: R$ 26,88
Salário Líquido: R$ 309,12
Resposta/Solução:

Veja a resolução comentada deste exercício usando PHP console:

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

<?php
  // para executar abra uma janela de comando
  // cmd e dispare o comando abaixo:
  // C:\xampp\php>php c:\estudos_php\estudos.php
   
  // para ler a entrada do usuário
  $entrada = fopen("php://stdin","r");
  
  // vamos ler o valor do hora aula
  echo "Informe o valor da hora aula: ";
  $valor_hora_aula = trim(fgets($entrada));
    
  // vamos ler o número de horas trabalhadas no mês
  echo "Informe o número de horas trabalhadas no mês: ";
  $horas_trabalhadas = trim(fgets($entrada));
    
  // vamos ler o percentual de desconto do INSS
  echo "Informe o percentual de desconto do INSS: ";
  $percentual_desconto_INSS = trim(fgets($entrada));
    
  // vamos calcular o salário bruto
  $salario_bruto = $valor_hora_aula * $horas_trabalhadas;
    
  // agora calculamos o total do desconto
  $total_desconto = ($percentual_desconto_INSS / 100) * 
    $salario_bruto;
    
  // finalmente calculamos o salário líquido
  $salario_liquido = $salario_bruto - $total_desconto;
    
  // mostramos o resultado
  echo "Salário Bruto: R$ " . 
    number_format($salario_bruto, 2, ',', '.');
  echo "\nTotal de Descontos: R$ " . 
    number_format($total_desconto, 2, ',', '.');
  echo "\nSalário Líquido: R$ " . 
    number_format($salario_liquido, 2, ',', '.');
?>



PHP ::: Fundamentos da Linguagem ::: Tipos de Dados

Apostila PHP - Como usar o tipo de dados string do PHP

Quantidade de visualizações: 10470 vezes
Strings são cadeias de caracteres, ou seja, palavras, frases e trechos de texto são considerados strings e usadas em praticamente todos os tipos de aplicações.

Em PHP, literais strings podem ser criados usandos aspas simples ou duplas. Veja:

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

$nome = 'Osmar J. Silva';  
$cidade = "Goiânia";

Variáveis são expandidas (avaliadas) dentro de aspas duplas. Dentro de aspas simples isso não acontece:

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

$nome = "Osmar J. Silva";
echo "Olá, $nome\n";
echo 'Olá, $nome';

O resultado da execução deste código será:

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

Olá, Osmar J. Silva
Olá, $nome

Aspas duplas suportam uma boa quantidade de strings de escape, como listado abaixo:

Símbolo        Significado         
------------------------------------------------------
  \"         Aspas duplas 
  \n         Nova linha (Newline) 
  \r         Retorno de linha (Carriege return)  
  \t         Tab (tabulação)
  \\         Barra invertida (Backslash)
  \$         Símbolo de Dollar
  \{         Chave esquerda
  \}         Chave direita 
  \[         Colchete esquerdo
  \]         Colchete direito  
\0 à \777    Caractere ASCII representado por um valor 
             octal
\x0 à \xFF   Caractere ASCII representado por um valor
             hexadecimal


Strings dentro de aspas simples reconhecem \\ para obter uma barra invertida e \' para obter uma aspas simples:

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

$caminho = 'C:\\WINDOWS\\SYSTEM';
$frase = 'Shes\'s here!';

Para testar se duas strings são iguais, o operador de comparação == pode ser usado:

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

if($a == $b){ 
  echo "As duas strings são iguais." 
}

Se quisermos saber se uma determinada variável é do tipo string, podemos usar a função is_string(). Veja:

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

<?
  $nome = 'Osmar J. Silva';  
  
  if(is_string($nome)){
    echo 'A variável $nome é do tipo string';
  }
?>



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



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