Upload
vutuong
View
213
Download
0
Embed Size (px)
Citation preview
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.
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.
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.
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’;
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
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
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.
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.
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.
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.
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
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);
?>
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);
?>
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];?>
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);?>
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;
?>
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);?>