Curso de PHP/Variáveis
Variáveis:
- Começam sempre pelo símbolo
$
seguido de uma letra. - Podem conter símbolos numéricos (0 - 9) alfanuméricos minúsculos (a - z) e alfanuméricos maiúsculos.
- Não podem conter espaços! Se tiverem mais do que uma palavra deverão ser interligadas por um underscore
_
.
Por exemplo: $total_variavel
.
Alguns exemplos de variáveis
editar<?php
$minha_variavel=4;
$minha_string="super ";
echo "$minha_string "." $minha_variavel";
?>
O ponto .
após a variável $minha_string
concatena as variáveis.
Deverá escrever na tela do navegador: super 4.
Tipos
editarO PHP suporta todos os oito tipos primitivos.
Boolean
editarO boolean
é um valor lógico que pode assumir ou true
ou false
.
Neste exemplo o valor booleano é nos dado a conhecer pela função gettype()
:
<?php
echo gettype((bool) ""); // bool(false)
echo gettype((bool) 1); // bool(true)
echo gettype((bool) "foo"); // bool(true)
?>
Aqui apresentamos duas variáveis com valores lógicos:
<?php
$foo = TRUE;
$foo = FALSE;
?>
Como podemos ver no exemplo acima, uma expressão tem um valor booleano true
se ela contiver alguma coisa, e false
se o seu conteúdo for nulo.
Inteiros
editarUm inteiro é um número do conjunto Z = { ...,-3,-2,-1,0,1,2,3,... }. Pode-se especificar através de notação decimal (de base 10), hexadecimal (base 16) ou octal (base 8), opcionalmente precedido de sinal (- ou +).
Representação de inteiros:
<?php
$a = 1234; # número decimal
$a = -123; # número negativo
$a = 0123; # número octal - precedido de um 0 - equivalente a 83 em decimal
$a = 0X1A; # número hexadecimal - precedido de um 0 e um X - equivalente a 26 em decimal
?>
Se você especifica um inteiro além dos limites de um inteiro, o PHP o interpreta como um ponto flutuante, veja abaixo.
<?php
$num = 2147483647;
var_dump($num); // Saída: int(2147483647)
?>
Ou:
<?php
$num = 2147483648;
var_dump($num); // Saída: float(2147483648)
?>
É necessário ter em atenção que na saída de uma fração para um inteiro', os arredondamentos não seguem a regra matemática, sendo assim é necessário o uso da função round()
:
<?php
var_dump(25/7); //float(3.5714285714286)
var_dump((int) 25/7); //int(3)
var_dump(round(25/7)); //float(4)
?>
Evite transformar uma fração de valor desconhecido para inteiro.
Números de ponto flutuante
editarOs números de ponto flutuante (floats e doubles) são números com casas decimais, onde, aqui, a vírgula é substituída por um ponto:
<?php
$a = 1.234;
$b = 1.3e4;
$c = 25.4E-10;
?>
Aqui também é necessário ter em atenção os arredondamentos.
Strings
editarUma string é uma série de caracteres sem limites de comprimento. Ela é delimitada, no PHP, por Aspas, apóstrofo ou pela nova sintaxe heredoc:
<?php
echo 'string delimitada por apóstrofos!';
echo "string delimitada por Aspas";
echo <<<EOF
String delimitada por um heredoc
EOF;
?>
A inclusão de variáveis funciona aqui de várias maneiras. Vamos ver:
<?php
$carro = "Mercedes";
echo "Ele comprou um bonito $carro"; // funciona
echo "Eles compraram vários {$carro}s"; // funciona
echo "Eu faço um ${carro}"; // funciona
?>
As saídas serão:
- Ele comprou um bonito Mercedes
- Eles compraram vários Mercedess
- Eu faço um Mercedes
Podemos também modificar strings:
<?php
$str = "Olha que alí há mal"; // Apresenta "Olha que alí há mal"
$str{strlen($str)-1} = "r"; // Apresenta "Olha que alí á mar"
?>
Ou:
<?php
$str = "Pegue isto"; // Apresenta "Pegue isto"
$str{strlen($str)-10} = "S"; // Apresenta "Segue isto"
?>
Cabe à função strlen()
essa tarefa.
A função strlen()
: retorna o tamanho de uma String.
Arrays
editarUm array é um mapa ordenado, com chaves e valores.
Exemplo:
<?php
$arr = array(1 => "um", 2 => "dois", 3 => TRUE);
echo $arr[1]; // Imprime "um"
echo $arr[3]; // Imprime "TRUE"
?>
Aqui nos é apresentado 3 chaves (1, 2 e 3) e 3 valores ("um", "dois" e TRUE).
Então podemos pegar uma chave de um array para imprimirmos o valor correspondente. Podemos também definir um array como vários array:
<?php
$arr = array("versão" => array ("beta" => "0.5x",
"alpha" => "0.1x",
"release" => "0.8x",
"final" => "1.x"
),
"nome" => "PHP software",
"SO" => array("win" => "Windows",
"lin" => "Linux",
"mac" => "MacOS"
)
);
// Vamos agora remover um elemento do array, visto que o nosso software já passou a fase alpha
unset($arr["versão"]["alpha"]);
// Também podemos apagar o array inteiro. Já não vamos disponibilizar o nosso software
unset($arr);
?>
Podemos especificar apenas valores num array, sendo que o interpretador irá tornar cada um dos valores com uma chave a partir do zero.
<?php
$arr = array(1,45,23,68);
echo $arr[1]; // imprime 45
// Vamos agora apagar um valor e reindexar o nosso array:
unset($arr[1]);
$arr = array_values($arr);
// Não podemos imprimir o nosso array através de echo. Temos que fazer isso com print_r():
print_r($arr);
?>
Manipulação de Tipos
editarNo PHP não é necessário definir o tipo que queremos usar, ou seja, este é determinado pelo contexto em que é usado. Por exemplo, $var = "string"
é uma string, já $var = 12
, é um inteiro.
Para alternarmos entre os tipos usamos uma sintaxe de moldagens:
<?php
$foo = 5; // $foo é um inteiro
$bar = (boolean) $foo; // $bar é um boleano
?>
Moldagens permitidas:
int
ouinteger
: moldar para inteiro.bool
ouboolean
: moldar para booleano.float
,double
oureal
: moldar para número de ponto flutuante.string
: moldar para string.array
: moldar para array.object
: moldar para objeto.
Exemplos de moldes:
<?php
$str = "Eu sou string";
$int = 12;
$num = 25/85;
$a = (boolean) $str;
$b = (string) $int;
$c = (int) $num;
echo $a . $b . $c;
?>
Variáveis
editarAs variáveis são no PHP representadas por um $ seguido do nome a ela atribuído. É necessário ter em conta alguns cuidados quando criamos variáveis:
<?php
$var = "Bom ";
$Var = "dia!";
echo $var . $Var; // Exibe "Bom dia!"
$25arrobas = "Ainda por cumprir!"; // INVÁLIDO - Nenhum nome de variável pode
começar por uma expressão numérica
$_25arrobas = "Quase na linha!"; // VÁLIDO - Nome começa por _
?>
É possível escrever-se qualquer um dos 8 tipo primitivos numa variável. As variáveis são usadas para se atribuir um valor e guardá-lo na memória do computador para execução posterior:
<?php
$var = "Ganhou um prêmio!";
$count = 3;
if ($count < 5){
echo $var;
}
?>
O script acima exibirá "Ganhou um prêmio!" se o valor da variável $count for menor que 5.
Variáveis predefinidas
editarO PHP oferece variáveis predefinidas de informações vindas do servidor e do navegador, que podem ser usadas pelo programador. são as chamadas superglobais.
$GLOBALS
editarContém referências para todas as variáveis que estão disponíveis dentro do script.
<?php
print_r($GLOBALS);
?>
É possível fazer a referencia de um dos itens da variável GLOBALS:
<?php
echo $GLOBALS["_SERVER"]["HTTP_HOST"];
?>
$_SERVER
editarVariáveis criadas pelo servidor web e relacionadas com o ambiente de execução.
Pode-se acessar os valores de _SERVER diretamente:
<?php
echo $_SERVER["HTTP_USER_AGENT"];
?>
$_GET
editarVariáveis enviadas por script para o servidor via método HTTP GET. O que é enviado pelo formulário é mostrado na barra de endereço.
$_POST
editarVariáveis enviadas por script para o servidor via método HTTP POST. O que é enviado pelo formulário não é mostrado na barra de endereço do navegador.
$_COOKIE
editarVariáveis enviadas por script para o servidor via cookies HTTP.
$_FILES
editarVariáveis enviadas para o script com todas as informações relativas aos arquivos enviados via HTTP.
$_ENV
editarVariáveis disponíveis no script do ambiente em execução. Em Web é igual ao $_SERVER.
$_REQUEST
editarPossui todas as variáveis englobadas em $_GET, $_POST e $_COOKIE. Em desuso devido à demora na realização do script!
$_SESSION
editarVariáveis que estão diretamente relacionadas no registro da sessão no script.