Aula 3 E-mail: [email protected] Facebook: leongamertiestudandoti.com.br/php/material/3 -...

16
PHP Aula 3 Strings, Funções e Arrays Professor: Leonardo Pereira E-mail: [email protected] Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si FUNÇÕES INTRODUÇÃO Uma função é um pedaço de código com um objetivo especifico, encapsulado sob uma estrutura única que recebe um conjunto de parâmetros e retorna um dado. Uma função é declarada uma única vez, mas pode ser utilizada diversas vezes. É uma das estruturas mais básicas para prover reuso. CRIAÇÃO Usamos o operador function seguido de um nome qualquer que será o identificador da mesma. Este nome obrigatoriamente deve iniciar com uma letra. Na mesma linha, digitamos a lista de argumentos que a função irá receber, separados por vírgula. Em seguida, encapsulado por chaves {}, vem o código da função. No final, utiliza-se a clausula return para retornar o resultado da função.

Transcript of Aula 3 E-mail: [email protected] Facebook: leongamertiestudandoti.com.br/php/material/3 -...

Page 1: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

PHPAula 3

Strings, Funções e Arrays

Professor: Leonardo PereiraE-mail: [email protected]

Facebook: leongamertiMaterial de Estudo: http://www.leonti.vv.si

FUNÇÕES

INTRODUÇÃO

� Uma função é um pedaço de código com um objetivo especifico, encapsulado sob uma estrutura única que recebe um conjunto de parâmetros e retorna um dado.

� Uma função é declarada uma única vez, mas pode ser utilizada diversas vezes.

� É uma das estruturas mais básicas para prover reuso.

CRIAÇÃO

� Usamos o operador function seguido de um nome qualquer que será o identificador da mesma.

� Este nome obrigatoriamente deve iniciar com uma letra.

� Na mesma linha, digitamos a lista de argumentos que a função irá receber, separados por vírgula.

� Em seguida, encapsulado por chaves {}, vem o código da função.

� No final, utiliza-se a clausula return para retornar o resultado da função.

Page 2: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

EXEMPLO

<?phpfunction somar($v1, $v2, $v3){

$total = $v1 + $v2 + $v3;return $total.

}?>� A função acima recebe 3 parâmetros e retorna

um valor definido pela soma das 3 variáveis.

VARIÁVEIS GLOBAIS

� Todas as variáveis declaradas dentro do escopo de uma função são locais.

� Para acessar uma variável externa ao contexto de uma função sem passá-la como parâmetro, é necessário declará-la como global.

� Uma variável global é acessada a partir de qualquer ponto da aplicação.

EXEMPLO

<?php$p = 30;function porcentagem($numero){

global $p;return ($numero*$p)/100;

}?>� Essa função retorna 30% do valor passado como

argumento.

VARIÁVEIS ESTÁTICAS

� Dentro do escopo de uma função podemos armazenar variáveis de forma estática.

� Assim, elas mantêm o valor que lhes foi atribuído na ultima execução.

� Para isso usamos o operador static.

Page 3: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

EXEMPLO

<?phpfunction percorre($km){

static $total;$total += $km;echo “Percorreu mais $km do total de

$total”;}percorre(100); // Percorreu mais 100 do total de 100

percorre(20); // Percorreu mais 20 do total de 120

?>

PASSAGEM DE PARÂMETROS

� Existem dois tipos de passagem de parâmetros:� por valor � por referência

� Por padrão, os valores são passados por valor.

PASSAGEM POR VALOR

<?phpfunction incrementa($variavel, $valor){

$variavel += $valor)}$a = 10;incrementa ($a, 20);echo $a; // 10

?>� O parâmetro que a função recebe é tratado como

variável local dentro do contexto da função, não alterando o seu valor externo.

PASSAGEM POR REFERÊNCIA

<?phpfunction incrementa(&$variavel, $valor){

$variavel += $valor;}$a = 10;incrementa ($a, 20);echo $a; // 30

?>� Para realizar a passagem de parâmetros por

referencia, usamos o operador & na frente do parâmetro, fazendo com que as transformações realizadas pelo função sobre a variável sejam repassada a variável externa também.

Page 4: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

VALORES PADRÃO

� O PHP permite definir valores default para parâmetros.

<?phpfunction incrementa(&$variavel, $valor = 40){

$variavel += $valor;}$a = 10;incrementa ($a);echo $a; // 50

?>� Se o programador executar a função sem especificar

o parâmetro, será assumido o valor 40.

RECURSÃO

<?phpfunction fatorial($numero){

if($numero == 1)return $numero;

elsereturn $numero * fatorial($numero – 1);

}echo fatorial(3); // 6echo fatorial (5); // 120

?>� O PHP permite chamada de funções de forma

recursiva.� Funções recursivas são aquelas que eu seu interior

fazem chamadas a si mesmas.

STRINGS

INTRODUÇÃO

� Uma string é uma cadeia de caracteres alfanuméricas.

� Para declarar uma string podemos utilizar aspas simples ou aspas duplas.

$variavel = “Teste 1”;$variavel = ‘Teste 1’;

Page 5: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

ASPAS SIMPLES E ASPAS DUPLAS

� A diferença é que todo conteúdo contido dentro de aspas duplas é avaliado pelo PHP.

� Se a string contem uma variável, esta variável será traduzida pelo seu valor.

<?php$fruta = “maça”;echo “Gosto de $fruta”; // Gosto de maçaecho ‘Gosto de $fruta’; // Gosto de $fruta

?>

STRING DE N LINHAS

� Também podemos declarar uma string com muitas linhas observando a sintaxe a seguir.

<?php$texto = <<<CHAVEEstou me preparandopara ser aprovadoem um concursoCHAVE;echo $texto;

?>� Devemos escolher uma palavra-chave para

delimitar o inicio e o fim da string.

CONCATENAÇÃO

� Para unir strings podemos usar o operador ponto ou colocar múltiplas variáveis dentro de aspas duplas.

<?php$bebida = “suco”;$lanche = “sanduiche”;echo “Eu gosto de $lanche e $bebida”;echo “Eu gosto de “.$lanche.” e ”.$bebida;

?>

FUNÇÕES DE STRING

� Existem diversas funções do PHP que foram criadas para manipular strings.

� strtoupper: transforma uma string para maiúsculo.$nome = “Leonardo”;echo strtoupper($nome); // LEONARDO

� strtolower: transforma uma string para minúsculo.$texto = “AVISO”;echo strtolower($texto); // aviso

Page 6: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

FUNÇÕES DE STRING

� substr: retorna uma parte da string. Possui 3 argumentos que são: � Uma string.� Ponto de inicio da analise.� Quantidade de caracteres.

$time = “Botafogo”; echo substr($time, 1); // otafogoecho ($time, 0, 3); // Botecho substr($time, 2, -1) // tafogecho substr($time, -2) // go

� Se a quantidade de caracteres for negativa, o PHP conta n caracteres antes do final da string.

FUNÇÕES DE STRING

� str_repeat: repete uma string uma certa quantidade de vezes.

� 1 – entrada� 2 - quantidade de repetições$txt = “Ola”;echo str_repeat($txt, 2) // OlaOla

FUNÇÕES DE STRING

� strlen: retorna o comprimento de uma string$texto = “Olá mundo”;echo strlen($texto) // 9

� str_replace: substitui uma string por outra em um dado contexto. Possui 3 parâmetros.

� 1 – substituída� 2 – substituta� 3 - string$txt = “O gato é legal”;echo str_replace(“rato”, “leão”, $txt); // o leão é legal

FUNÇÕES DE STRING

� strpos: encontra a primeira ocorrência de uma string dentro de outra.

$texto = “O gato é legal”;echo strpos($texto, “legal”); // 9

� chop: remove caracteres no final de uma string.$txt = “Leonardo Pereira“;echo chop($txt, “Pereira”); // Leonardo

� ord: retorna o valor ASCII de um caractere.echo ord("h"); // 104

Page 7: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

ARRAYS

INTRODUÇÃO

� Os arrays em PHP são verdadeiros containers, servindo para armazenar números, strings, objetos, dentro outros, de forma dinâmica.

� Além disso, o PHP nos oferece uma gama enorme de funções para manipulá-los, as quais serão vistas a seguir.

CRIANDO UM ARRAY

� Arrays são acessados mediante uma posição, como um índice numérico.

� Para criar um array, pode-se usar a função array.$cores = array(“red”, “blue”, “yellow”);� Outra forma de criar um array é simplesmente

adicionando-lhe valores como abaixo;$nomes[] = “Leon”;$nomes[] = “Isabella”;� Para acessar o array indexado basta indicar o seu

índice entre colchetes.echo $nomes[1]; // Isabella

ARRAYS ASSOCIATIVOS

� O PHP permite a criação de arrays associativos.� Neste tipo de array, temos uma chave de acesso

para cada posição.$pessoa = array(“nome”=>”Leon”, “cidade”=>”RJ”);� Outra forma de criar um array associativo é

simplesmente adicionando-lhe valores com assim:$pessoa[‘nome’] = “Maria da Silva”;$pessoa[‘rua’] = “Pres. Vargas”;$pessoa[‘bairro’] = “Centro”;� A chave pode ser uma string ou um inteiro não

negativo.

Page 8: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

ITERAÇÕES

<?php$nomes = array(“Leonardo”, “Bruno”, “Igor”);foreach($nomes as $chave => $valor){

echo $valor;?>

ARRAYS MULTIDIMENSIONAIS

� Um array multidimensional ou matriz é aquele em que em alguma posição existe um outro array.

� Também e criado com a função array().<?php

$carros = array(“Palio”=> array(“cor”=>”azul”,“potencia”=>”1.0”),

“Corsa” => array(“cor”=>”preto”,“potencia”=>”1.8”)

);echo $carros [“Corsa”][“cor”]; // preto

?>

FUNÇÕES DE ARRAY

� array_push: adiciona elementos ao final de um array.

� array_pop: remove um valor do final de um array.� array_shift: remove um elemento do inicio de um

array.� array_unshift: adiciona um elemento no inicio de

um array.� array_reverse: recebe um array e retorna-o na

ordem inversa.

FUNÇÕES DE ARRAY

� array_merge: mescla dois ou mais arrays.� array_keys: retorna as chaves de um array

associativo.� array_values: retorna um array contendo os

valores de outro array associativo.� count: retorna a quantidade de elementos de um

array.� array_slice: extrai uma porção de um array.

Page 9: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

FUNÇÕES DE ARRAY

� sort: ordena um array pelo seu valor, não mantendo a associação de índices.

� rsort: ordena um array em ordem reversa pelo seu valor, não mantendo a associação de índices.

� asort: ordena um array associativo pelo seu valor, mantendo a associação de índices.

� arsort: ordena de forma reversa um arrayassociativo pelo seu valor, mantendo a associação de índices.

� ksort: ordena um array pelos seus índices.� krsort: ordena um array pelo seus índices de

forma reversa.

FUNÇÕES DE ARRAY

� explode: converte uma string em um array, separando os elementos por meio de um separador.

$data = “31/12/2004;”$s = explode(“/”, $data);

� implode: converte um array em uma string, separando os elementos do array por meio de um separador.

$data = array(“31”,”12”,”2004”);$s = implode(“/”, $data);

FUNÇÕES MATEMÁTICAS

INTRODUÇÃO

� O PHP possui diversas funções matemáticas para facilitar o dia-a-dia do programador, sendo que as principais seguem abaixo:

� rand — gera um inteiro aleatório.� abs — valor absoluto.� ceil — arredonda frações para cima.� floor — arredonda frações para baixo.

Page 10: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

INTRODUÇÃO

� round — Arredonda um número� de 0 até 0.4 === 0. � de 0.5 até 0.9 === 1.

� max — localiza o maior valor.� min — localiza o menor valor.� pow (numero, expoente) — potência.� sqrt ( ) — raiz quadrada.

EMAIL

ENVIO DE EMAIL

� O PHP possui uma função que permite o envio de e- mails: chamada mail().� mail (destinatário , assunto , mensagem, headers)� destinatário – receptor do email.� assunto – frase referente ao teor do email.� mensagem – corpo do email.� headers – opcional. Usado para configurar outras

opções no email como Bcc.SCRIPTS DA AULA

Page 11: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

EXEMPLO 1 :: FUNÇÕES

<?phpfunction somar($a, $b){

return $a + $b;}echo somar(3,5);

?>

EXEMPLO 2 :: VARIÁVEL GLOBAL

<?phpfunction imprimir(){

echo $nome;}

$nome = "Leonardo";imprimir();

?>

EXEMPLO 3 :: PASSAGEM DE PARÂMETRO<?php

function incrementar1($d){$d++;

}function incrementar2(&$d){

$d++;}

$c = 10;incrementar1($c);echo $c;

$c = 10;incrementar2($c);echo $c;

?>

EXEMPLO 4 :: VARIÁVEL ESTÁTICA

<?phpfunction percorre($km){

$total = 100;$total -= $km;echo "Faltam $total kms”;

}

percorre(10);percorre(40);

?>

Page 12: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

EXEMPLO 5 :: VALOR PADRÃO

<?phpfunction multiplicador($variavel, $x = 3){

return $variavel * $x;}$a = 10;echo multiplicador($a,10);

?>

EXEMPLO 6 :: RECURSIVIDADE

<?phpfunction fatorial($n){

if($n == 1)return 1;

elsereturn $n * fatorial($n - 1);

}echo fatorial(4);

?>

EXEMPLO 7 :: ESTILO HEREDOC<?php$texto = <<<CHAVEConcurso Público <br>Aeronáutica <br>BrasilCHAVE;

echo $texto;

?>

EXEMPLO 8 :: FUNÇÕES STRINGS

<?php$min = "brasil";$max = "ARGENTINA";

echo strtoupper($min);

echo strtolower($max);

?>

Page 13: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

EXEMPLO 9 :: FUNÇÕES STRINGS

<?php$nome = "Leonardo";

echo substr($nome, 1);

echo substr($nome, 1, 4);

echo substr($nome, -1);

echo substr($nome, -3, 2);

echo substr($nome, -3, -2);?>

EXEMPLO 10 :: FUNÇÕES STRINGS

<?php$nome = "Olá";echo str_repeat($nome, 3);

echo strlen($nome);

?>

EXEMPLO 11 :: FUNÇÕES STRINGS

<?php$frase = "O leão roeu a roupa do rei";echo str_replace("leão", "rato",$frase);

echo strpos($frase, "roupa");

echo chop($frase, "rei");

echo ord("M");?>

EXEMPLO 12 :: ARRAY

<?php$cores = array("azul", "amarelo", "preto");echo $cores[1];

$nomes[] = "Leonardo";$nomes[] = "Isabella";echo $nomes[0];

echo $nomes[1];?>

Page 14: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

EXEMPLO 13 :: ARRAY ASSOCIATIVO

<?php$carros = array(

"amarelo" => "fox", "preto" => "siena", "branco" => "logan“

);

echo $carros["preto"];?>

EXEMPLO 14 :: ARRAY MULTIDIMENSIONAL

<?php$carros = array(

"Cruze" => array("cor"=>"preto", "potencia"=> "2.0"),"Camaro" => array("cor"=>"cinza", "potencia"=> "2.4")

);

echo $carros ["Cruze"]["cor"]; echo $carros ["Camaro"]["potencia"];

?>

EXEMPLO 15 :: FUNÇÕES ARRAY<?php

$letras = array("A", "B", "C", "D", "E");

echo "Insere no final";array_push($letras, "F");

echo "Remove do final”;array_pop($letras);

echo "Remove do inicio”;array_shift($letras);

echo "Insere no inicio”;array_unshift($letras, "A");

echo "Inverte os elementos”:$rletras = array_reverse($letras);foreach($rletras as $l)

echo $l;?>

EXEMPLO 16 :: FUNÇÕES ARRAY

<?php$letras = array("a", "b");$numeros = array(1, 2);$resultado = array_merge($letras, $numeros);

echo count($resultado);

$s1 = array_slice($resultado, 1);

$s2 = array_slice($resultado, -4 , 2);

$s3 = array_slice($resultado, 0 , 3);

$s4 = array_slice($resultado, -2 , -2);?>

Page 15: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

EXEMPLO 17 :: FUNÇÕES ARRAY

<?php$assoc = array(

"BR" => "Brasil", "CH" => "Chile", "FR" => "França", "JP" => "Japao");

$chaves = array_keys($assoc);foreach($chaves as $c)

echo $c." ";

$valores = array_values($assoc);foreach($valores as $v)

echo $v." ";?>

EXEMPLO 18 :: ORDENANDO ARRAYS

<?php$frutas = array(

"Maça", "Pera", "Abacaxi", "Uva“);sort($frutas);foreach($frutas as $a)

echo $a." ";

rsort($frutas);foreach($frutas as $a)

echo $a." ";?>

EXEMPLO 19 :: ORDENANDO ARRAYS<?php

$paises = array(4 => "Brasil", 2 => "Chile", 3 => "França", 1 => "Japao");

asort($paises);

arsort($paises);

ksort($paises);

krsort($paises);

?>

EXEMPLO 20 :: EXPLODE E IMPLODE

<?php$data = "23/01/2014";$partes = explode("/", $data);

foreach ($partes as $p)echo $p." ";

$data = array("31","12","2004");$s = implode("/", $data);echo $s;

?>

Page 16: Aula 3 E-mail: leongamerti@gmail.com Facebook: leongamertiestudandoti.com.br/php/material/3 - Funções, Strings, Array... · qualquer que será o identificador da mesma. Este nome

EXEMPLO 21 :: FUNÇÕES NUMÉRICAS

<?php$n = 3.4;echo rand();

echo abs($n);

echo ceil($n);

echo floor($n);

?>

EXEMPLO 21 :: FUNÇÕES NUMÉRICAS

<?php$n = 5.6;echo round($n);

echo max(10, 5);

echo min(10, 5);

echo pow(5, 2);

echo sqrt(9);?>