professor jefferson chaves [email protected] · professor jefferson chaves...
TRANSCRIPT
![Page 2: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/2.jpg)
• Tipos de dados;
• Operadores;
• Arrays;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 3: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/3.jpg)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 4: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/4.jpg)
• 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
Jefferson de Oliveira Chaves - IFC Araquari
![Page 5: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/5.jpg)
• 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)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 6: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/6.jpg)
• São quatro tipos de dados primitivos:
• Boolean Apenas valores lógicos (verdadeiro / falso);
• Integer Número do conjunto dos inteiros;
• Float Número do conjunto dos decimais;
• String Uma palavra, um nome ;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 7: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/7.jpg)
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;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 8: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/8.jpg)
Um inteiro é um número do conjunto
Z = {..., -2, -1, 0, 1, 2, ...}.
// números inteiros $numInteiro = 1234; $inteiroNegativo = -5;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 9: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/9.jpg)
• 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.
Jefferson de Oliveira Chaves - IFC Araquari
![Page 10: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/10.jpg)
• Misseis Patriot (1991);
• Mars Climate Orbiter (1998);
• Ariane 5 vôo 501 (1996)
• Bug do Milênio (2000)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 11: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/11.jpg)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 12: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/12.jpg)
• 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
Jefferson de Oliveira Chaves - IFC Araquari
![Page 13: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/13.jpg)
• 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.
Jefferson de Oliveira Chaves - IFC Araquari
![Page 14: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/14.jpg)
• 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; Jefferson de Oliveira Chaves - IFC Araquari
![Page 15: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/15.jpg)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 16: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/16.jpg)
• 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
Jefferson de Oliveira Chaves - IFC Araquari
![Page 17: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/17.jpg)
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.
Jefferson de Oliveira Chaves - IFC Araquari
![Page 18: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/18.jpg)
<?php
echo (5 * 5); // imprime 25
echo (10 / 2); // imprime 5
echo (5 % 2); // imprime 1
echo (5 / 0); // Warning: Division by zero
?>
Jefferson de Oliveira Chaves - IFC Araquari
![Page 19: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/19.jpg)
<?php
//Calculos de média:
$media_errada = 10 + 8 / 2; //resultado 14
$media_correta = (10 + 8) / 2; //resultado 9
?>
Jefferson de Oliveira Chaves - IFC Araquari
![Page 20: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/20.jpg)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 21: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/21.jpg)
• 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; ?>
Jefferson de Oliveira Chaves - IFC Araquari
![Page 22: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/22.jpg)
<?php //atribuição $saldoBanco recebe o valor de 1000 $saldoBanco = 1000; // define $saldoBanco para 1500 $saldoBanco = $saldoBanco + 500; echo $saldoBanco; //imprime o valor ? ?>
Jefferson de Oliveira Chaves - IFC Araquari
![Page 23: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/23.jpg)
<?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 ? ?>
Jefferson de Oliveira Chaves - IFC Araquari
![Page 24: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/24.jpg)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 25: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/25.jpg)
• 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‛);
Jefferson de Oliveira Chaves - IFC Araquari
![Page 26: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/26.jpg)
$onibus = array( ); Jefferson de Oliveira Chaves - IFC Araquari
![Page 27: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/27.jpg)
• Basicamente, um array é como um armário com
gavetas numeradas a partir do número 0;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 28: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/28.jpg)
• 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‛);
Jefferson de Oliveira Chaves - IFC Araquari
![Page 29: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/29.jpg)
• 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;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 30: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/30.jpg)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 31: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/31.jpg)
• É 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 );
Jefferson de Oliveira Chaves - IFC Araquari
![Page 32: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/32.jpg)
• 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
Jefferson de Oliveira Chaves - IFC Araquari
![Page 33: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/33.jpg)
• 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‛;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 34: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/34.jpg)
• E pra acessar esse conteúdo poderíamos selecioná-lo por meio de seu índice;
• Cuidado com o Notice: Undefined offset;
echo $herois[3];
Jefferson de Oliveira Chaves - IFC Araquari
![Page 35: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/35.jpg)
• 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‛;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 36: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/36.jpg)
• 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 ) ;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 37: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/37.jpg)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 38: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/38.jpg)
• É 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çã" );
Jefferson de Oliveira Chaves - IFC Araquari
![Page 39: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/39.jpg)
• Para acessar o valor de um array associativo, basta colocar na frente do array o nome do índice entre colchetes;
echo $fruta[‘nome’] //maçã
Jefferson de Oliveira Chaves - IFC Araquari
![Page 40: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/40.jpg)
Jefferson de Oliveira Chaves - IFC Araquari
![Page 41: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/41.jpg)
• 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( );
Jefferson de Oliveira Chaves - IFC Araquari
![Page 42: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/42.jpg)
$tamanho = sizeof($herois ); for($i = 0; $i < $tamanho; $i++){ echo $herois[$i]; }
Jefferson de Oliveira Chaves - IFC Araquari
![Page 43: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/43.jpg)
• 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;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 44: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/44.jpg)
• 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.;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 45: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/45.jpg)
$herois = array(‚Batman‛, ‚Hulk‛, ‚Thor‛); foreach( $herois as $heroi ){ echo $heroi; }
Jefferson de Oliveira Chaves - IFC Araquari
![Page 46: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/46.jpg)
• 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
Jefferson de Oliveira Chaves - IFC Araquari
![Page 47: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/47.jpg)
• 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
Jefferson de Oliveira Chaves - IFC Araquari
![Page 48: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/48.jpg)
• 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
Jefferson de Oliveira Chaves - IFC Araquari
![Page 49: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/49.jpg)
• 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;
Jefferson de Oliveira Chaves - IFC Araquari
![Page 50: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/50.jpg)
$herois = array(‚Batman‛, ‚Hulk‛, ‚Thor‛); foreach( $herois as $indice => $valor ){ echo ‚$indice -- $valor‛; }
Jefferson de Oliveira Chaves - IFC Araquari
![Page 51: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/51.jpg)
• 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; }
Jefferson de Oliveira Chaves - IFC Araquari
![Page 52: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/52.jpg)
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.
![Page 53: Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu · Professor Jefferson Chaves Jefferson.chaves@ifc-araquari.edu.br Jefferson de Oliveira Chaves - IFC Araquari •Tipos](https://reader034.vdocuments.mx/reader034/viewer/2022052300/5c35b26f09d3f217298cdf8c/html5/thumbnails/53.jpg)
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.