• Nenhum resultado encontrado

VARIÁVEIS GLOBAIS VARIÁVEIS ESTÁTICAS

N/A
N/A
Protected

Academic year: 2021

Share "VARIÁVEIS GLOBAIS VARIÁVEIS ESTÁTICAS"

Copied!
16
0
0

Texto

(1)

PHP

Aula 3

Strings, Funções e Arrays Professor: Leonardo Pereira E-mail: leongamerti@gmail.com

Facebook: leongamerti

Material de Estudo: http://www.leonti.vv.si

F

UNÇÕES

I

NTRODUÇÃ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.

C

RIAÇÃ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

(2)

E

XEMPLO <?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.

V

ARIÁVEIS

G

LOBAIS

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.

E

XEMPLO <?php $p = 30; function porcentagem($numero){ global $p; return ($numero*$p)/100; } ?>

Essa função retorna 30% do valor passado como

argumento.

V

ARIÁVEIS

E

STÁ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.

(3)

E

XEMPLO

<?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

?>

P

ASSAGEM DE

P

ARÂMETROS

Existem dois tipos de passagem de parâmetros:  por valor

 por referência

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

P

ASSAGEM

P

OR

V

ALOR

<?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.

P

ASSAGEM

P

OR

R

EFERÊNCIA

<?php

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.

(4)

V

ALORES

P

ADRÃ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.

R

ECURSÃO <?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.

S

TRINGS

I

NTRODUÇÃ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’;

(5)

A

SPAS

S

IMPLES E

A

SPAS

D

UPLAS

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 ?>

S

TRING DE

N

LINHAS

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.

C

ONCATENAÇÃ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; ?>

F

UNÇÕES DE

S

TRING

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”;

(6)

F

UNÇÕES DE

S

TRING

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.

F

UNÇÕES DE

S

TRING

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

F

UNÇÕES DE

S

TRING

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

F

UNÇÕES DE

S

TRING

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.

(7)

A

RRAYS

I

NTRODUÇÃ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.

C

RIANDO UM

A

RRAY

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

A

RRAYS 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

(8)

I

TERAÇÕES

<?php

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

echo $valor; ?>

A

RRAYS

M

ULTIDIMENSIONAIS

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 ?>

F

UNÇÕES DE

A

RRAY

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.

F

UNÇÕES DE

A

RRAY

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.

(9)

F

UNÇÕES DE

A

RRAY

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.

F

UNÇÕES DE

A

RRAY

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);

F

UNÇÕES

M

ATEMÁTICAS

I

NTRODUÇÃ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.

(10)

I

NTRODUÇÃ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.

E

MAIL

E

NVIO DE

E

MAIL

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.

(11)

E

XEMPLO

1 :: F

UNÇÕES <?php function somar($a, $b){ return $a + $b; } echo somar(3,5); ?>

E

XEMPLO

2 :: V

ARIÁVEL

G

LOBAL

<?php function imprimir(){ echo $nome; } $nome = "Leonardo"; imprimir(); ?>

E

XEMPLO

3 :: P

ASSAGEM DE

P

ARÂMETRO

<?php function incrementar1($d){ $d++; } function incrementar2(&$d){ $d++; } $c = 10; incrementar1($c); echo $c; $c = 10; incrementar2($c); echo $c; ?>

E

XEMPLO

4 :: V

ARIÁVEL

E

STÁTICA

<?php

function percorre($km){ $total = 100; $total -= $km;

echo "Faltam $total kms”; }

percorre(10); percorre(40); ?>

(12)

E

XEMPLO

5 :: V

ALOR

P

ADRÃO <?php function multiplicador($variavel, $x = 3){ return $variavel * $x; } $a = 10; echo multiplicador($a,10); ?>

E

XEMPLO

6 :: R

ECURSIVIDADE <?php function fatorial($n){ if($n == 1) return 1; else return $n * fatorial($n - 1); } echo fatorial(4); ?>

E

XEMPLO

7 :: E

STILO

HEREDOC

<?php $texto = <<<CHAVE Concurso Público <br> Aeronáutica <br> Brasil CHAVE; echo $texto; ?>

E

XEMPLO

8 :: F

UNÇÕES

S

TRINGS

<?php $min = "brasil"; $max = "ARGENTINA"; echo strtoupper($min); echo strtolower($max); ?>

(13)

E

XEMPLO

9 :: F

UNÇÕES

S

TRINGS <?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); ?>

E

XEMPLO

10 :: F

UNÇÕES

S

TRINGS

<?php

$nome = "Olá";

echo str_repeat($nome, 3); echo strlen($nome);

?>

E

XEMPLO

11 :: F

UNÇÕES

S

TRINGS

<?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");

?>

E

XEMPLO

12 :: A

RRAY

<?php

$cores = array("azul", "amarelo", "preto"); echo $cores[1]; $nomes[] = "Leonardo"; $nomes[] = "Isabella"; echo $nomes[0]; echo $nomes[1]; ?>

(14)

E

XEMPLO

13 :: A

RRAY

A

SSOCIATIVO <?php $carros = array( "amarelo" => "fox", "preto" => "siena", "branco" => "logan“ ); echo $carros["preto"]; ?>

E

XEMPLO

14 :: A

RRAY

M

ULTIDIMENSIONAL

<?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"];

?>

E

XEMPLO

15 :: F

UNÇÕES

A

RRAY

<?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; ?>

E

XEMPLO

16 :: F

UNÇÕES

A

RRAY

<?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); ?>

(15)

E

XEMPLO

17 :: F

UNÇÕES

A

RRAY <?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." "; ?>

E

XEMPLO

18 :: O

RDENANDO

A

RRAYS

<?php

$frutas = array(

"Maça", "Pera", "Abacaxi", "Uva“ ); sort($frutas); foreach($frutas as $a) echo $a." "; rsort($frutas); foreach($frutas as $a) echo $a." "; ?>

E

XEMPLO

19 :: O

RDENANDO

A

RRAYS

<?php $paises = array( 4 => "Brasil", 2 => "Chile", 3 => "França", 1 => "Japao"); asort($paises); arsort($paises); ksort($paises); krsort($paises); ?>

E

XEMPLO

20 :: E

XPLODE E

I

MPLODE

<?php

$data = "23/01/2014";

$partes = explode("/", $data); foreach ($partes as $p) echo $p." "; $data = array("31","12","2004"); $s = implode("/", $data); echo $s; ?>

(16)

E

XEMPLO

21 :: F

UNÇÕES

N

UMÉRICAS <?php $n = 3.4; echo rand(); echo abs($n); echo ceil($n); echo floor($n); ?>

E

XEMPLO

21 :: F

UNÇÕES

N

UMÉRICAS

<?php $n = 5.6; echo round($n); echo max(10, 5); echo min(10, 5); echo pow(5, 2); echo sqrt(9); ?>

Referências

Documentos relacionados

 (2) Entendemos por esse termo, qualquer operação que a linguagem nos permita realizar com uma variável, como por exemplo: guardar um valor lido do teclado, escrever o

O estudo demonstrou o potencial dos índices de vegetação de imagens do sensor MODIS para auxiliar no monitoramento das condições hídricas de áreas cafeeiras, minimizando os

Este estudo teve por objetivo avaliar a influência do manejo de coberturas sobre índices de conforto térmico como o Índice de Temperatura de Globo Negro e Umidade (ITGU) e Carga

Suponha que temos uma experiência aleatória que consiste no lançamento sucessivo de duas moedas (não viciadas). Pretende-se saber qual o número esperado de faces que irá ocorrer.

Os contadores rápidos são tratados sempre como Double Word.. Existem algumas particularidades que devem ser observadas quando do acesso aos endereços

número fixo de elementos (também variáveis!), onde estes elementos são todos de um mesmo tipo, ou seja é uma linha (ou coluna) com um quantidade de valores..!. Declaração de

Na reserva para riscos (RR) considera-se uma provisão equivalente a 2% dos custos reais e da remuneração do trabalho directivo, ou seja, do total de custos variáveis,

• blips ativos seriam nossas tarefas ”prontas” • update só irá chamar os blips ativos. u criar fç wait e possivelmente