Aprenda PHP

  • Página Inicial
  • Contato!
  • Tudo sobre PHP Parte 1!
  • Tudo sobre PHP Parte 2!
  • Tudo sobre PHP Parte 3!
  • Tudo sobre PHP Parte 4!
  • Tudo sobre PHP Parte 5!
  • Tudo sobre PHP Parte 6!
  • Tudo sobre PHP Parte 1

    Comando Echo, Variáveis, Typecast e Concatenações

    Todo código PHP é colocado dentro de uma supertag PHP, assim:

    
    <?php
    // Aqui dentro vai o código PHP
    
    echo "Olá, Mundo!";
    ?>
    
    

    O comando echo no PHP é o comando de saída de mensagens, como o document.write do Javascript, e tags HTML são permitidas, por exemplo:

    
    echo "<h3>Isso é uma frase em PHP</h3><br/>";
    
    

    PS: Pode ser usado print no lugar do echo, mas este não é muito usado. O print é uma herança do Perl.

    Podemos também usar emojis unicode nas versões 7 e posteriores do PHP:

    
    echo "Olá, Mundo!\u{1F30E}";
    
    

    As variáveis em PHP sempre começam com um cifrão ($), por exemplo:

    
    $idade = 26;
    $salario = 2565.97;
    $nome = "Gaspar";
    $casado = false;
    
    

    As variáveis acima são de tipos diferentes, mas diferente de linguagens como o Java e o C, no PHP não existe declaração de variáveis, elas são identificadas automaticamente, como no Javascript. Strings sempre ficam entre aspas.

    Mas você pode pré-definir os tipos de uma variável, forçando uma conversão, os typecasts são esses:

    
    (int),(integer) // Inteiro
    (real),(float),(double) // Real
    (string) // Caracteres
    
    

    PS: Não existe typecast para tipos booleanos(lógicos), eles são considerados números inteiros, com true sendo 1 e false sendo uma variável vazia.

    Veja como se usa o typecast:

    
    $num = (string)5;
    $nome = (int)"90";
    
    

    Os comentários de uma linha se colocam ao lado de //, e de várias linhas entre /* */, por exemplo:

    
    // Comentário de uma linha
    
    /*
    Comentário
    de
    várias
    linhas
    */
    
    

    No PHP, as concatenações são feitas com pontos, dessa forma:

    
    $nome = "Andressa";
    $idade = 32;
    echo $nome . " tem " . $idade . " anos.";
    
    

    Mas pelo fato das variáveis começarem com cifrão, em alguns casos, podemos colocar tudo entre aspas duplas (simples não funciona) sem concatenação que as variáveis serão identificadas normalmente, veja o código anterior dessa forma:

    
    $nome = "Andressa";
    $idade = 32;
    echo "$nome tem $idade anos.";
    
    

    Para declarar uma constante, basta usar const antes, e não usar cifrões, ela deverá sempre ser inicializada, assim:

    
    const PI = 3.14159265359;
    
    

    PS: Se quiser saber o tipo de uma variável ou constante em PHP, utilize o gettype, dessa forma:

    
    $teste = "Teste";
    echo "O tipo da variável é " . gettype($teste);
    
    

    PS: Pode ser necessário colocar um charset em arquivos que não contenham HTML com charset, nesse caso podemos fazer diretamente em PHP assim, no início da supertag PHP:

    
    header("Content-type: text/html; charset=utf-8");
    
    

    Operadores Aritméticos

    Assim como no Javascript, esses são os operadores em PHP:

    Operador Aritmético Significado
    + Soma
    - Subtração
    * Multiplicação
    / Divisão
    % Módulo

    Veja um exemplo simples de operação em PHP:

    
    $n1 = 4;
    $n2 = 5;
    $res = $n1 + $n2;
    echo "A soma entre $n1 e $n2 é igual a $res!";
    
    

    Se colocar os resultados com concatenação, coloque sempre entre parênteses pra não dar erro. Veja alguns exemplos:

    
    $n1 = 9;
    $n2 = 4;
    echo "A soma vale " . ($n1 + $n2) . "<br/>";
    echo "A subtração vale " . ($n1 - $n2) . "<br/>";
    echo "A multiplicação vale " . ($n1 * $n2) . "<br/>";
    echo "A divisão vale " . ($n1 / $n2) . "<br/>";
    echo "O módulo vale " . ($n1 % $n2) . "<br/>";
    
    

    Lembre-se sempre da ordem de precedência da matemática, que na ordem é parênteses (), multiplicação *, divisão / (incluindo módulo %), adição + e subtração -.

    Veja um exemplo pra calcular a média:

    
    $n1 = 9;
    $n2 = 4;
    $med = ($n1 + $n2) / 2;
    echo "A média vale $med";
    
    

    Se o usuário quiser informar o valor, podemo informar diretamente os parâmetros e o valor pela URL, após o nome da página, que seria algo assim:

    
    http://localhost/TestePHP/index.php?a=8&b=2
    
    

    Para que isso seja possível se usa o $_GET, dessa forma:

    
    $n1 = $_GET["a"];
    $n2 = $_GET["b"];
    $med = ($n1 + $n2) / 2;
    echo "A soma vale " . ($n1 + $n2) . "<br/>";
    echo "A subtração vale " . ($n1 - $n2) . "<br/>";
    echo "A multiplicação vale " . ($n1 * $n2) . "<br/>";
    echo "A divisão vale " . ($n1 / $n2) . "<br/>";
    echo "O módulo vale " . ($n1 % $n2) . "<br/>";
    echo "A média vale " . $med . "<br/>";
    
    

    Também temos funções aritméticas em PHP, descritas abaixo:

    A função abs() é para pegar o valor absoluto de uma variável (valores sem traço negativo).

    A função pow() é para criar uma potencialização entre dois números.

    A função sqrt() é para mostrar a raiz quadrada.

    A função round() é para mostrar o número arredondado para um inteiro (até .5 ele arrendonda pra baixo, acima disso ele arredonda pra cima). Pra arredondar sempre pra cima se usa a função ceil(), e para baixo se usa floor().

    A função intval() é para pegar a parte inteira de um número (não confundir com arredondamento).

    A função rand() é para gerar um número aleatório, definindo o mínimo e o máximo.

    A função number_format() é usada principalmente para converter números em formato de moeda. Atenção as vírgulas dentro do parâmetro: A primeira é a variável, a segunda são as casas decimais, o terceiro e o quarto são os símbolos de divisão (sendo o terceiro a parte fracionada e a quarta os milhares).

    Veja todos os códigos acima funcionando:

    
    $v1 = $_GET["x"];
    $v2 = $_GET["y"];
    echo "<h4>Valores recebidos $v1 e $v2</h4>";
    echo "O valor absoluto de $v2 é " . abs($v2) . "<br/>";
    echo "O valor de $v1 <sup>$v2</sup> é " . pow($v1, $v2) . "<br/>";
    echo "A raiz quadrada de $v1 é " . sqrt($v1) . "<br/>";
    echo "O valor arredondado de $v2 é " . round($v2) . "<br/>"; // ceil floor
    echo "A parte inteira de $v2 é " . intval($v2) . "<br/>";
    echo "Número aleatório entre $v1 e $v2: " . rand($v1, $v2) . "<br/>";
    echo "O valor de $v1 em moeda é R\$ " . number_format($v1, 2, ",", ".") . "<br/>";
    
    

    PS: A Barra antes do cifrão de R$ é uma sequência de escape, ela não aparecerá no código, é apenas pra não conflitar com as variáveis.

    A função is_nan() verifica se um valor numérico é NAN (não válido), por exemplo:

    
    $num = $_GET["n"];
    $raiz = sqrt($num);
    
    if(is_nan($raiz)) {
        echo "Número Inválido!";
    }
    else {
        echo "A raiz de $num é $raiz.";
    }
    
    

    Para verificar se um valor é numérico, usamos is_numeric(), assim:

    
    $num = $_GET["n"];
    
    if(is_numeric($num)) {
        echo "O número é $num.";
    }
    else {
        echo "Insira um número!";
    }
    
    

    Para fazer a divisão inteira, use o método intdiv(), assim:

    
    echo intdiv(5, 2);
    
    

    Para converter números de qualquer base para qualquer base, use o método base_convert(), assim:

    
    echo base_convert(16, 10, 2) . "<br/>"; // Converte 16 em decimal para binário
    echo base_convert(16, 10, 8) . "<br/>"; // Converte 16 em decimal para octal
    echo base_convert(16, 10, 16) . "<br/>"; // Converte 16 em decimal para hexadecimal
    
    

    Operadores de Atribuição

    Além do operador de atribuição =, comum em qualquer linguagem, temos também outras atribuições.

    O valor de atribuição com adição += é um operador específico para os casos que a variável do início também faz parte do lado direito, como podem ver:

    
    $a = 2;
    $b = 5;
    $c = $a + $b;
    $c += 5; // Seria o mesmo que $c = $c + 5;
    $b += $a; // Seria o mesmo que $b = $b + $a;
    $a++; // Seria o mesmo que $a += 1; e $a = $a + 1;
    
    

    Como visto acima, também podemos usar o incremento ++ ou o decremento --.

    Esses são os operadores de atribuição em PHP, todos eles com a variável recebendo ela mesma mais o operador aritmético:

    Operador de Atribuição Significado
    += Adição com Atribuição
    -= Subtração com Atribuição
    *= Multiplicação com Atribuição
    /= Divisão com Atribuição
    %= Módulo com Atribuição
    .= Concatenação com Atribuição

    Veja um exemplo de atribuições:

    
    $preco = $_GET["p"];
    echo "O preço do produto é R\$ " . number_format($preco, 2, ",", ".") . ".<br/>";
    $preco += $preco * 10 / 100; // O mesmo que $preco = $preco + ($preco * 10 / 100);
    echo "E o novo preço do produto com 10% de aumento é R\$ " . number_format($preco, 2, ",", ".") . ".";
    
    

    Para fazer o mesmo, só que com desconto, basta mudar o sinal de + para -, assim:

    
    $preco = $_GET["p"];
    echo "O preço do produto é R\$ " . number_format($preco, 2, ",", ".") . ".<br/>";
    $preco -= $preco * 10 / 100; // O mesmo que $preco = $preco - ($preco * 10 / 100);
    echo "E o novo preço do produto com 10% de desconto é R\$ " . number_format($preco, 2, ",", ".") . ".";
    
    

    Assim se usa os operadores de incremento e decremento em PHP:

    
    $a++; // É o mesmo que $a = $a + 1;
    $a--; // É o mesmo que $a = $a - 1;
    
    

    Mas tome cuidado com o uso de incremento e decremento, eles vindo antes e depois da variável faz muita diferença, o recomendável é testar antes.

    Nesse caso aqui, só funciona o pré-decremento, pois ele fará a conta antes da variável.

    
    $atual = $_GET["aa"];
    echo "O ano atual é $atual e o ano anterior é " . --$atual . ".";
    
    

    Também é possível criar referência entre variáveis, simplesmente colocando um & antes da variável, do lado direito. Nesse caso, a variável referenciada também se altera, junto com a original.

    Sem referência de variável fica assim, só a variável alterada se altera.

    
    $a = 8;
    $b = $a;
    $b += 13;
    echo "A variável a vale $a.<br/>";
    echo "A variável b vale $b.";
    
    

    Já nesse caso, a variável referenciada se altera também.

    
    $a = 8;
    $b = &$a; // É como se b fosse declarada com ponteiro e sua variável pegasse o endereço de a.
    $b += 13; // É como se o b fosse um ponteiro.
    echo "A variável a vale $a.<br/>";
    echo "A variável b vale $b.";
    
    

    Existem também variáveis de variáveis (ou variáveis variantes), que não é muito utilizado, são variáveis criadas a partir do conteúdo de outras variáveis. Para isso, coloca outro $ na frente no cifrão já existente. Veja um exemplo:

    
    $a = "teste";
    $$a = "mensagem";
    echo "O conteúdo da variável a é $a.<br/>";
    echo "A variável criada recebeu o valor $teste.";