Você está aqui: PHP ::: Dicas & Truques ::: Matemática e Estatística

Gerando um número randômico usando a função mt_rand()

Quantidade de visualizações: 10349 vezes
<?
/*
  Este techo de código mostra como gerar um
  número aleatório entre 1 e 10 usando a função
  mt_rand() do PHP
	
  Obs: A partir da versão 4.2.0 do PHP, não é mais
  necessário usar srand() ou mt_srand() para inicializar
  a semente do gerador de números aleatórios.
*/
  
  $num = mt_rand(1, 10);
  echo "O número gerado foi: " . $num;
?>



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: 8928 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:

<?
  // 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:

<?
  // 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:

<?
  // 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:

<?
  // 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:

<?
  // 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á.


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

Como obter parte de uma string usando a função substr() da linguagem PHP

Quantidade de visualizações: 8934 vezes
Nesta dica eu mostrarei como podemos usar a função substr() do PHP para obter uma substring a partir de uma string, ou seja, parte de uma palavra, frase ou texto. Esta técnica é muito útil em aplicações PHP que efetuam manipulação de texto.

A função substr() possui três parâmetros:

substr(string, início, comprimento)
Veja que precisamos fornecer a string a partir da qual nós queremos obter uma parte, o índice inicial e o comprimento da parte a ser obtida.

Veja um código completo demonstrando seu uso:

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<?php  
  $frase = "Gosto muito de programar em PHP.";
  // vamos obter uma parte dessa frase.  
  $parte = substr($frase, 6, 5); 
  // mostra o resultado
  echo $frase . "<br>";
  echo "Parte obtida: " . $parte;
?>  

</body>
</html>

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

Gosto muito de programar em PHP.
Parte obtida: muito


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

Como construir uma data usando a função mktime() do PHP

Quantidade de visualizações: 12304 vezes
A forma mais comum de se construir uma data e hora no PHP é por meio da função mktime(). Esta função recebe as horas e a data na sequência horas, minutos, segundos, mês, dia, ano e retorna um timestamp Unix, que é a quantidade de segundos desde 31/12/1969 - 21:00:00 (fuso horário brasileiro).

Veja um trecho de código que constrói a data 13/05/2020 à meia-noite:

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<?php
  // construir a data 13/05/2020
  // se quiser fornecer as horas o formato é: 
  // hora, minuto, segundo
 
  $timestamp = mktime(0, 0, 0, 05, 13, 2020);
  echo "A data é: " . date('d/m/Y', $timestamp);
?>
 
</body>
</html>

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

A data é: 13/05/2020


PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como pesquisar valores em arrays usando a função array_search() do PHP

Quantidade de visualizações: 21499 vezes
A função array_search() do PHP é muito útil quando precisamos pesquisar um determinado valor em um vetor e retornar o seu índice. É importante observar que esta função retorna o índice do elemento se ele for encontrado no array e, em caso contrário, retorna o valor FALSE.

Veja um exemplo completo de seu uso:

<?php
  $pessoas[0] = "Carlos";
  $pessoas[1] = "Juliana";
  $pessoas[2] = "Igor";
  $pessoas[3] = "Marcelo";
  $pessoas[4] = "Amélia";

  $indice = array_search("Igor", $pessoas);
  if($indice){
    echo "O valor foi encontrado no índice " . $indice;
  }
  else{
    echo "O valor pesquisado não foi encontrado.";
  }
?>

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

O valor foi encontrado no índice 2.


PHP ::: Dicas & Truques ::: Variáveis e Constantes

PHP para iniciantes - Como testar se uma variável é do tipo string usando a função is_string() do PHP

Quantidade de visualizações: 8791 vezes
Em algumas situações podemos querer saber se o tipo de uma variável é string, ou seja, contém uma palavra, frase ou trecho de texto.

Este teste pode ser feito com o auxílio da função is_string(). Esta função retorna um valor true ou false dependendendo do tipo de variável sendo testada.

Veja o código PHP para este exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $nome = 'Osmar J. Silva';  
   
  if(is_string($nome)){
    echo 'A variável $nome é do tipo string';
  }
  else{
    echo 'A variável $nome não é do tipo string';
  }
?>
 
</body>
</html>

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

A variável $nome é do tipo string


Veja mais Dicas e truques de PHP

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Elétrica pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 15 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

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



© 2021 Arquivo de Códigos - Todos os direitos reservados | Versión en Español | Versão em Português