Funções, Strings, Array, Funções MatemÃ

Propaganda
PHP
Aula 3
Strings, Funções e Arrays
FUNÇÕES
Professor: Leonardo Pereira
E-mail: [email protected]
Facebook: leongamerti
Material de Estudo: http://www.leonti.vv.si
INTRODUÇÃO
CRIAÇÃ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.
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
VARIÁVEIS GLOBAIS
<?php
function 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.
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
VARIÁVEIS ESTÁTICAS
<?php
$p = 30;
function porcentagem($numero){
global $p;
return ($numero*$p)/100;
}
?>
Essa função retorna 30% do valor passado como
argumento.
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
PASSAGEM DE PARÂMETROS
<?php
function 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
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
PASSAGEM POR REFERÊNCIA
<?php
<?php
function 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.
function 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
RECURSÃO
O PHP permite definir valores default para
parâmetros.
<?php
function 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.
<?php
function fatorial($numero){
if($numero == 1)
return $numero;
else
return $numero * fatorial($numero – 1);
}
echo fatorial(3); // 6
echo 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.
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’;
STRINGS
ASPAS SIMPLES E ASPAS DUPLAS
STRING DE N LINHAS
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ça
echo ‘Gosto de $fruta’; // Gosto de $fruta
?>
CONCATENAÇÃO
FUNÇÕES DE STRING
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;
?>
Também podemos declarar uma string com muitas
linhas observando a sintaxe a seguir.
<?php
$texto = <<<CHAVE
Estou me preparando
para ser aprovado
em um concurso
CHAVE;
echo $texto;
?>
Devemos escolher uma palavra-chave para
delimitar o inicio e o fim da 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); // otafogo
echo ($time, 0, 3); // Bot
echo substr($time, 2, -1) // tafog
echo 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
FUNÇÕES DE STRING
strlen: retorna o comprimento de uma string
$texto = “Olá mundo”;
echo strlen($texto) // 9
strpos: encontra a primeira ocorrência de uma
string dentro de outra.
$texto = “O gato é legal”;
echo strpos($texto, “legal”); // 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
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
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.
ARRAYS
CRIANDO UM ARRAY
ARRAYS ASSOCIATIVOS
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
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
ARRAYS MULTIDIMENSIONAIS
<?php
$nomes = array(“Leonardo”, “Bruno”, “Igor”);
foreach($nomes as $chave => $valor){
echo $valor;
?>
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
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.
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
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 array
associativo 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.
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);
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.
FUNÇÕES MATEMÁTICAS
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
EXEMPLO 1 :: FUNÇÕES
EXEMPLO 2 :: VARIÁVEL GLOBAL
<?php
<?php
function somar($a, $b){
return $a + $b;
}
echo somar(3,5);
function imprimir(){
echo $nome;
}
?>
$nome = "Leonardo";
imprimir();
?>
EXEMPLO 3 :: PASSAGEM DE PARÂMETRO
EXEMPLO 4 :: VARIÁVEL ESTÁTICA
<?php
<?php
function incrementar1($d){
$d++;
}
function incrementar2(&$d){
$d++;
}
function percorre($km){
$total = 100;
$total -= $km;
echo "Faltam $total kms”;
}
$c = 10;
incrementar1($c);
echo $c;
$c = 10;
incrementar2($c);
echo $c;
?>
percorre(10);
percorre(40);
?>
EXEMPLO 5 :: VALOR PADRÃO
EXEMPLO 6 :: RECURSIVIDADE
<?php
<?php
function multiplicador($variavel, $x = 3){
return $variavel * $x;
}
$a = 10;
echo multiplicador($a,10);
function fatorial($n){
if($n == 1)
return 1;
else
return $n * fatorial($n - 1);
?>
}
echo fatorial(4);
?>
EXEMPLO 7 :: ESTILO HEREDOC
EXEMPLO 8 :: FUNÇÕES STRINGS
<?php
$texto = <<<CHAVE
Concurso Público <br>
Aeronáutica <br>
Brasil
CHAVE;
<?php
$min = "brasil";
$max = "ARGENTINA";
echo strtoupper($min);
echo strtolower($max);
echo $texto;
?>
?>
EXEMPLO 9 :: FUNÇÕES STRINGS
EXEMPLO 10 :: FUNÇÕES STRINGS
<?php
<?php
$nome = "Leonardo";
$nome = "Olá";
echo str_repeat($nome, 3);
echo substr($nome, 1);
echo substr($nome, 1, 4);
echo substr($nome, -1);
echo strlen($nome);
?>
echo substr($nome, -3, 2);
echo substr($nome, -3, -2);
?>
EXEMPLO 11 :: FUNÇÕES STRINGS
EXEMPLO 12 :: ARRAY
<?php
<?php
?>
$frase = "O leão roeu a roupa do rei";
echo str_replace("leão", "rato",$frase);
$cores = array("azul", "amarelo", "preto");
echo $cores[1];
echo strpos($frase, "roupa");
echo chop($frase, "rei");
$nomes[] = "Leonardo";
$nomes[] = "Isabella";
echo $nomes[0];
echo ord("M");
echo $nomes[1];
?>
EXEMPLO 13 :: ARRAY ASSOCIATIVO
EXEMPLO 14 :: ARRAY MULTIDIMENSIONAL
<?php
<?php
$carros = array(
"amarelo" => "fox",
"preto" => "siena",
"branco" => "logan“
);
$carros = array(
"Cruze" => array("cor"=>"preto", "potencia"=> "2.0"),
"Camaro" => array("cor"=>"cinza", "potencia"=> "2.4")
);
echo $carros ["Cruze"]["cor"];
echo $carros ["Camaro"]["potencia"];
echo $carros["preto"];
?>
?>
EXEMPLO 15 :: FUNÇÕES ARRAY
EXEMPLO 16 :: FUNÇÕES ARRAY
<?php
<?php
$letras = array("A", "B", "C", "D", "E");
$letras = array("a", "b");
$numeros = array(1, 2);
$resultado = array_merge($letras, $numeros);
echo "Insere no final";
array_push($letras, "F");
?>
echo "Remove do final”;
array_pop($letras);
echo count($resultado);
echo "Remove do inicio”;
array_shift($letras);
$s1 = array_slice($resultado, 1);
echo "Insere no inicio”;
array_unshift($letras, "A");
$s2 = array_slice($resultado, -4 , 2);
echo "Inverte os elementos”:
$rletras = array_reverse($letras);
foreach($rletras as $l)
echo $l;
$s3 = array_slice($resultado, 0 , 3);
$s4 = array_slice($resultado, -2 , -2);
?>
EXEMPLO 17 :: FUNÇÕES ARRAY
EXEMPLO 18 :: ORDENANDO ARRAYS
<?php
<?php
$assoc = array(
"BR" => "Brasil",
"CH" => "Chile",
"FR" => "França",
"JP" => "Japao");
$frutas = array(
"Maça", "Pera", "Abacaxi", "Uva“
);
sort($frutas);
foreach($frutas as $a)
echo $a." ";
$chaves = array_keys($assoc);
foreach($chaves as $c)
echo $c." ";
$valores = array_values($assoc);
foreach($valores as $v)
echo $v." ";
?>
rsort($frutas);
foreach($frutas as $a)
echo $a." ";
?>
EXEMPLO 19 :: ORDENANDO ARRAYS
EXEMPLO 20 :: EXPLODE E IMPLODE
<?php
<?php
$paises = array(
4 => "Brasil",
2 => "Chile",
3 => "França",
1 => "Japao");
$data = "23/01/2014";
$partes = explode("/", $data);
foreach ($partes as $p)
echo $p." ";
asort($paises);
arsort($paises);
$data = array("31","12","2004");
$s = implode("/", $data);
echo $s;
ksort($paises);
krsort($paises);
?>
?>
EXEMPLO 21 :: FUNÇÕES NUMÉRICAS
EXEMPLO 21 :: FUNÇÕES NUMÉRICAS
<?php
<?php
$n = 3.4;
echo rand();
$n = 5.6;
echo round($n);
echo abs($n);
echo max(10, 5);
echo min(10, 5);
echo ceil($n);
echo pow(5, 2);
echo floor($n);
?>
echo sqrt(9);
?>
Download