Você está aqui: PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle

Testando condições usando as construções if e if...else em PHP

Quantidade de visualizações: 13892 vezes


As construções if (se) e if...else (se...do contrário) são muito populares em todas as linguagens de programação, uma vez que estas permitem testar condições e, baseado no resultado, direcionar o fluxo de execução do código.

Comece observando o seguinte trecho de código:
<?
  $valor = 10;
  
  if($valor > 5){
    echo "O valor é maior que 5";
  }
?>
Veja que a condição testada sempre retornará um valor boolean (true ou false). Neste trecho de código a frase será escrita, uma vez que 10 é maior que 5. Veja agora um exemplo usando if...else:
<?
  $valor = 10;
  
  if($valor > 15){
    echo "O valor é maior que 15";
  }
  else{
    echo "O valor NÃO é maior que 15";
  }
?>
Veja que agora o fluxo de código possui mais um opção. Se o teste
if($valor > 15){
resultar false, a parte else da construção será executada.

É possível executar quantas instruções você quiser dentro de um bloco if ou if...else. Se apenas uma instrução for executada, o uso das chaves "{" e "}" é dispensado.

Link para compartilhar na Internet ou com seus amigos:

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

Como obter a extensão de um arquivo em PHP usando a função pathinfo()

Quantidade de visualizações: 9861 vezes
Em algumas situações precisamos obter a extensão de um arquivo. Isso pode ser feito por meio do uso da função pathinfo(), que retorna informações sobre um arquivo, incluindo seu caminho.

Para obter a extensão, só precisamos fornecer a constante PATHINFO_EXTENSION para o segundo parâmetro da função. Veja o código:

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

<?php
  // caminho e nome do arquivo que queremos obter a extensão
  $arquivo = "/home/xxxx/xxxx/foto.jpg";
  
  // obtém a extensão
  $ext = pathinfo($arquivo, PATHINFO_EXTENSION); 
  
  // exibe o resultado
  echo "A extensão do arquivo é: " . $ext;
?>

Ao executarmos este código teremos o seguinte resultado:

A extensão do arquivo é: jpg



PHP ::: Dicas & Truques ::: Data e Hora

Datas e horas em PHP - Como obter o timestamp do primeiro dia do mês e ano informados

Quantidade de visualizações: 71 vezes
Nesta dica eu mostrarei como é possível obter o timestamp do primeiro dia de um determinado mês e ano.

O "Unix timestamp" contém o número de segundos entre a "Unix Epoch" (1 de janeiro de 1970, às 00:00:00 GMT) e o tempo decorrido desde então.

Veja o código PHP 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
  $mes = 1; // 1 = janeiro;
  $ano = 2021;
  $primeiro_dia = mktime(0, 0, 0, $mes, 1, $ano);
  echo "O timestamp do primeiro dia do mês e ano 
    informado é: " . $primeiro_dia;
?>
 
</body>
</html>

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

O timestamp do primeiro dia do mês e ano informado é: 1609455600


PHP ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHP

Quantidade de visualizações: 10620 vezes
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas.

As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes:

a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja:

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

<?
  // Uma classe Boleto abstrata
  abstract class Boleto{

  }

  // vamos criar um novo objeto desta classe
  $b = new Boleto();
?>


Ao executarmos este código teremos a seguinte mensagem de erro:

Fatal error: Cannot instantiate abstract class Boleto in ...

A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos).

b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato:

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

<?
  // Uma classe Boleto não-abstrata
  class Boleto{
    // um método abstrato
    public abstract function imprimir($dados);
  }
?>

Ao executarmos este código teremos a seguinte mensagem de erro:

Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ...

Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá.

c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco:

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

<?
  // Uma classe Boleto abstrata
  abstract class Boleto{
    // um método abstrato
    public abstract function imprimir($dados);
  }
 
  // vamos herdar da classe Boleto
  class BoletoBradesco extends Boleto{

  }
?>

A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece:

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

<?
  // Uma classe Boleto abstrata
  abstract class Boleto{
    // um método abstrato
    public abstract function imprimir($dados);
  }
 
  // vamos herdar da classe Boleto
  class BoletoBradesco extends Boleto{
    public function imprimir($dados){
      echo "Imprimindo o boleto: " . $dados; 
    }
  }

  // vamos criar um objeto da classe BoletoBradesco
  $b = new BoletoBradesco();
  // vamos imprimir o boleto
  $b->imprimir("Dados do boleto");
?>

d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja:

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

<?
  // Uma classe Boleto abstrata
  abstract class Boleto{
    // um método abstrato que não deveria conter implementação
    public abstract function imprimir($dados){
      echo "Isso vai dar um erro daqueles!";
    }
  }
?>

Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro:

Fatal error: Abstract function Boleto::imprimir() cannot contain body in ...

Bastará remover a implementação do método que a mensagem de erro desaparecerá.


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: C
6º lugar: Delphi
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á 80 usuários muito felizes estudando em nosso site.