Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br
Tipos de dados; Operadores; Arrays;
Por vezes, será importante saber o tipo de dados; Quando dissemos ao usuário, digite sua idade, por exemplo, ele pode: 18 18 anos Dezoito XVI I I
Por vezes, será importante saber o tipo de dados: $numerofilhos = 5; //valor inteiro (integer) $salario = 2.5; //valor decimal (float) $nome = Joinville ; //uma palavra (String) $maioridade = true; //valor lógico (Boolean)
São quatro tipos de dados primitivos: Boolean Apenas valores lógicos (verdadeiro / falso); Integer Float Número do conjunto dos inteiros; Número do conjunto dos decimais; String Uma palavra, um nome ;
Este é o tipo mais simples. Um tipo booleano expressa um valor verdade. Ele pode ser verdadeiro (TRUE) ou falso (FALSE). // atribui o valor true para $temsaldo $temsaldo = true;
Um inteiro é um número do conjunto Z = {..., -2, -1, 0, 1, 2,...}. // números inteiros $numinteiro = 1234; $inteironegativo = -5;
O tamanho de um inteiro é dependente de plataforma, sendo um número aproximado a 2 bilhões O tamanho do inteiro pode ser determinado pela constante PHP_INT_SIZE, e seu o valor máximo com a constante PHP_INT_MAX.
Misseis Patriot (1991); Mars Climate Orbiter (1998); Ariane 5 vôo 501 (1996) Bug do Milênio (2000)
Números decimais (em programação escrito como "float", "double"; O valore decimal de ser separado por ponto e não por vírgula; $a = 1.234; // número decimal
Algumas operações numéricas podem resultar em valores representados pela constante NAN; Existem alguns problemas com arredondamentos e conversões. Não existem meio filho ou salário negativo.
O PHP realiza dinamicamente a moldagem dos dados numa operação chamada de cast. Podemos converter um tipo de dado em outro deixando explícito o casting desejado: $numero = (integer) 2.5; $numero = (int) 10 porquinhos ; $numero = (real) 2; $numero = (float/doble) 2;
Os operadores aritméticos são os mesmos da matemática tradicional; O que pode mudar são os símbolos de cada operação; Exponenciação, por exemplo, é representada por dois asteriscos: 2**2 //dois elevado ao quadrado
Exemplo Nome Resultado -$a Negação Oposto de $a. $a + $b Adição Soma de $a e $b. $a - $b Subtração Diferença entre $a e $b. $a * $b Multiplicação Produto de $a e $b. $a / $b Divisão Quociente de $a e $b. $a % $b Módulo Resto de $a dividido por $b. $a ** $b Exponencial Resultado de $a elevado a $b.
<?php echo (5 * 5); // imprime 25 echo (10 / 2); // imprime 5 echo (5 % 2); // imprime 1?> echo (5 / 0); // Warning: Division by zero
<?php //Calculos de média:?> $media_errada = 10 + 8 / 2; //resultado 14 $media_correta = (10 + 8) / 2; //resultado 9
Um operador de atribuição altera o valor armazenado em uma variável; Nas operações de atribuição, o primeiro operando é sempre uma variável: <?php //atribuição variável $numero recebe o valor de 3 $numero = 3;?>
<?php //atribuição $saldobanco recebe o valor de 1000 $saldobanco = 1000; // define $saldobanco para 1500 $saldobanco = $saldobanco + 500;?> echo $saldobanco; //imprime o valor?
<?php //atribuição $saldobanco recebe o valor de 1000 $saldobanco = 1000; // define $saldobanco para 1500, como se disséssemos: // $saldobanco = $saldobanco + 500; $saldobanco += 500;?> echo $saldobanco; //imprime o valor?
Um array (vetor em português) é uma variável especial capaz de armazenar uma coleção de variáveis. Todo array possui uma capacidade; $herois = array( ); $herois = array( Batman, Hulk, Thor );
$onibus = array( );
Basicamente, um array é como um armário com gavetas numeradas a partir do número 0;
Para criarmos um array precisamos de um método que faça isso. O método array( ); Também podemos criar um array preenchido; <?php //criar um array vazio $herois = array( ); //criar um array preenchido $herois = array( Batman, Hulk, Thor );
No PHP existem 3 tipos de arrays: Arrays indexados - com índice numérico; Arrays associativos - com nomes como índices; Arrays multidimensionais - Arrays que contem outros arrays;
É um tipo de array que possui seu índice numérico; Podemos dizer que índice é a posição da informação em um array; O índice inicial de um array é zero ( 0 );
Para acessar o valor de um array basta colocar na frente da variável um colchete com seu índice; $herois = array( Batman, Hulk, Thor ); echo $herois[0]; //mostra Batman
Também pode adicionar um novo valor ao array em uma posição específica da seguinte forma: $herois = array( Batman, Hulk, Thor ); $herois[3] = Deadpool ;
E pra acessar esse conteúdo poderíamos selecioná-lo por meio de seu índice; Cuidado com o Notice: Undefined offset; echo $herois[3];
Ou ainda poderíamos dinamicamente adicionar um valor ao próximo espaço vazio; Isso é útil quando não sabemos ao certo a quantidade de índices do nosso array; $herois[ ] = Capitão Caverna ;
Afim de testar nossos arrays e ver seu conteúdo, temos as funções print_r e var_dump; Ambas tem funções parecidas, mas var_dump tem uma saída mais detalhada, com o tipo e o número de caracteres; print_r ( $herois ) ; var_dump ( $herois ) ;
É um tipo de array cujo índice é uma palavra; Comumente chamado de dicionário: palavra => significado; $fruta = array( "cor" => "vermelha", "sabor" => "doce", "formato" => "redonda", "nome" => "maçã" );
Para acessar o valor de um array associativo, basta colocar na frente do array o nome do índice entre colchetes; echo $fruta[ nome ] //maçã
Iterar significa percorrer todos ou alguns itens de um array de forma sistemática; Normalmente usamos a estrutura de repetição FOR para isso; Mas para isso precisamos do tamanho máximo do nosso array; Para saber o tamanho do array usamos o método sizeof( );
$tamanho = sizeof($herois ); for($i = 0; $i < $tamanho; $i++){ echo $herois[$i]; }
O FOR resolve o problema de iterar sobre um array. No entanto usá-lo para iterar sobre arrays associativos (aquele como índice como uma palavra) não é trivial; Nesses casos usamos o FOREACH;
O FOREACH (para cada, em português) é um FOR melhorado para iterar sobre arrays; Ele identifica sozinho o tamanho do array, verifica índices existentes e etc.;
$herois = array( Batman, Hulk, Thor ); foreach( $herois as $heroi ){ echo $heroi; }
O FOREACH pega cada elemento do array e o atribui a uma variável a cada loop; $herois = array( Batman, Hulk, Thor ); foreach( $herois as $heroi ){ echo $heroi; //Batman } 1 loop
O FOREACH pega cada elemento do array e o atribui a uma variável a cada loop; $herois = array( Batman, Hulk, Thor ); foreach( $herois as $heroi ){ echo $heroi; //Hulk } 2 loop
O FOREACH pega cada elemento do array e o atribui a uma variável a cada loop; $herois = array( Batman, Hulk, Thor ); foreach( $herois as $heroi ){ echo $heroi; //Thor } 3 loop
Com o FOREACH, ainda é possível exibir o índice o valor; Basta adicionar uma seta ( => ) assim como em um array associativo; Os nomes usados nestas variáveis devem seguir as mesmas regras já vistas para variáveis;
$herois = array( Batman, Hulk, Thor ); foreach( $herois as $indice => $valor ){ echo $indice -- $valor ; }
Como array é uma estrutura complexa, existem método que nos ajuda a manipular os dados nele contidos; $nomes = array( Jefferson, Ana, Bruno ); sort($nomes ); foreach( $nomes as $nome ){ echo $nome; }
1. Faça um Programa que pergunte em que turno você estuda. Peça para digitar M para matutino, V para Vespertino ou N para Noturno. Imprima a mensagem "Bom Dia!", "Boa Tarde!" ou "Boa Noite!" ou "Valor Inválido!", conforme o caso. Dica: use if, elseif, else 2. Digite 5 números e verifique qual é o maior; Dica: guarde em um array, ordene e mostre o primeiro.
3. Crie um programa que entre com os dados de altura e sexo de 5 pessoas. Imprima na tela quantas pessoas são do sexo masculino e quantas pessoas são do sexo feminino. Mostre também qual é a maior altura e se essa altura é de um homem ou uma mulher.