A maior rede de estudos do Brasil

Grátis
475 pág.
LIVRO Aplicativos em PHP

Pré-visualização | Página 24 de 50

Aplicativos em PHP (WikiBooks - democratizando o conhecimento) - Página 141/475
do ... while
Semelhante ao while, diferindo no fato da expressão condicional ficar ao final das iterações.
No do ... while a primeira iteração sempre executará as instruções incondicionalmente.
Sintaxe:
do {
 instrucoes;
} while (expressoes); // Atentar para o ponto e vírgula ao final
Exemplos:
<?php
// Executa pelo menos uma vez incondicionalmente
$i = 6; $fator = 2; $minimo = 10;
do {
 if ($i < 5) {
 echo "\$i não é grande o suficiente";
 break;
 }
 $i *= $fator;
 if ($i < $minimo) {
 break;
 }
 echo "\$i está Ok e vale " . $i;
} while (0);
/* Exemplo simples
$i = 0;
do {
 echo $i;
} while ($i > 0);
*/
?>
for
Laço composto por 3 instruções. A primeira é a de inicialização da variável, a segunda será avaliada 
a cada iteração e a terceira é a de incremento. As 3 separadas por ponto e vírgula. Todas as 3 são 
opcionais e caso a segunda seja nula o loop será infinito.
Sintaxe:
for (expr1; expr2; expr3) {
 instrucoes;
}
- expr1 será avaliada uma única vez incondicionalmente;
- expr2 será avaliada no início de cada iteração:
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP
Aplicativos em PHP (WikiBooks - democratizando o conhecimento) - Página 142/475
 - Se TRUE o laço continua e as instruções serão executadas
 - Se FALSE o laço termina.
- expr3 é avaliada ao final de cada iteração, no caso incrementa a variável
Exemplos:
<?php
/* exemplo 1 - Controla o fluso no for*/
echo "<br><br>1- ";
for ($i = 1; $i <= 10; $i++) {
 echo $i;
}
echo "<br><br>2- ";
/* exemplo 2 - Controle o fluxo no if interno*/
for ($i = 1; ; $i++) {
 if ($i > 10) {
 break;
 }
 echo $i;
}
echo "<br><br>3- ";
/* exemplo 3 - Controle o fluxo no if interno*/
$i = 1;
for (; ; ) {
 if ($i > 10) {
 break;
 }
 echo $i;
 $i++;
}
echo "<br><br>4- ";
/* exemplo 4 */
for ($i = 1; $i <= 10;$i++);
 echo $i;
?>
foreach
Laço para varrer os elementos de uma matriz (array).
Atentar para o fato de que o foreach não requer reset() antes, pois quando é executado o ponteiro 
interno do array já é zerado automaticamente.
Sintaxe:
foreach (expressao_array as $valor){
 instrucoes;
}
foreach (expressao_array as $chave => $valor) {
 instrucoes;
}
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP
Aplicativos em PHP (WikiBooks - democratizando o conhecimento) - Página 143/475
Exemplos:
<?php
//Você pode ter notado que os seguintes itens são funcionalmente idênticos:
$arr = array("um", "dois", "três");
reset ($arr); // Aponta para o primeiro elemento
while (list(, $value) = each ($arr)) {
 echo "Valor: $value<br />";
}
foreach ($arr as $value) {
 echo "Valor: $value<br />";
}
//Os seguintes também são funcionalmente idênticos:
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each ($arr)) {
 echo "Chave: $key; Valor: $value<br />";
}
foreach ($arr as $key => $value) {
 echo "Chave: $key; Valor: $value<br />";
}
/* exemplo foreach 1: somente valores */
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
 echo "Valor atual de \$a: $v.<br>";
}
/* exemplo foreach 2: valores (com as chaves impressas para ilustração) */
$a = array(1, 2, 3, 17);
$i = 0; /* para exemplo somente */
foreach ($a as $v) {
 echo "\$a[$i] => $v.<br>";
 $i++;
}
/* exemplo foreach 3: chaves e valores */
$a = array (
 "um" => 1,
 "dois" => 2,
 "três" => 3,
 "dezessete" => 17
);
foreach ($a as $k => $v) {
 echo "\$a[$k] => $v.<br>";
}
?>
break
Cancela a execução de laços: for, foreach, while, do ... while ou switch.
break n é suportado, onde n é o número de estruturas a serem canceladas.
Sintaxe:
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP
Aplicativos em PHP (WikiBooks - democratizando o conhecimento) - Página 144/475
break;
break n;
Exemplos:
<?php
$arr = array('um', 'dois', 'três', 'quatro', 'PARE', 'cinco');
while (list (, $val) = each ($arr)) {
 if ($val == 'PARE') {
 break; /* Você poderia colocar 'break 1;' aqui. */
 }
 echo "$val<br />";
}
echo "<br />";
/* Utilizando o argumento opcional. */
$i = 0;
while (++$i) {
 switch ($i) {
 case 5:
 echo "No 5<br />";
 break 1; /* Sai somente do switch. */
 case 10:
 echo "No 10; saindo<br />";
 break 2; /* Sai do switch e while. */
 default:
 break;
 }
}
?>
continue
Sai da atual iteração de um loop para continuar na próxima iteração.
Sintaxe:
continue;
continue n;
Enquanto o break encerra definitivamente um laço, o continue encerra somente a iteração atual.
Exemplos:
<?php
$arr = array(1,2,3,4,5,6,7,8);
while (list ($key, $value) = each ($arr)) {
 if (!($key % 2)) { // pula itens pares, ou seja, processa somente ímpares
 continue;
 }
 echo ($value);
}
echo "<br>";
$i = 0;
while ($i++ < 5) {
 echo "Fora<br />";
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP
Aplicativos em PHP (WikiBooks - democratizando o conhecimento) - Página 145/475
 while (1) {
 echo " Meio<br />";
 while (1) {
 echo " Dentro<br />";
 continue 3;
 }
 echo "Isto nunca será exibido.<br />";
 }
 echo "Nem isso.<br />";
}
// Outro exemplo
 for ($i = 0; $i < 5; ++$i) {
 if ($i == 2)
 continue
 print "$i\n";
 }
?>
switch
Similar a uma série de construções if seguidas.
Sintaxe:
switch (variavel) {
 case valor1:
 instrucoes;
 break;
 case valor2:
 instrucoes2;
 break;
 case valorN;
 instrucoesN;
 break;
 default:
 instrucoesDefault;
 break;
}
Exemplos:
<?php
$i = 1;
// Estrutura com if
if ($i == 0) {
 echo "\$i igual a 0";
} elseif ($i == 1) {
 echo "\$i igual a 1";
} elseif ($i == 2) {
 echo "\$i igual a 2";
}
echo "<br>";
// Estruturas com switch
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP
Aplicativos em PHP (WikiBooks - democratizando o conhecimento) - Página 146/475
switch ($i) {
 case 0:
 echo "\$i igual a 0";
 break;
 case 1:
 echo "\$i igual a 1";
 break;
 case 2:
 echo "\$i igual a 2";
 break;
}
echo "<br>";
$i = 2;
// Executará todos, falta o break
switch ($i) {
 case 0:
 echo "\$i igual a 0";
 case 1:
 echo "\$i igual a 1";
 case 2:
 echo "\$i igual a 2";
}
echo "<br>";
// Simulando intervalos
switch ($i) {
 case 0:
 case 1:
 case 2:
 echo "\$i é menor que 3 mas não negativo";
 break;
 case 3:
 echo "\$i é 3";
}
echo "<br>";
// Valor default
switch ($i) {
 case 0:
 echo "\$i igual a 0";
 break;
 case 1:
 echo "\$i igual a 1";
 break;
 case 2:
 echo "\$i igual a 2";
 break;
 default:
 echo "\$i não é igual a 0, 1 ou 2";
}
?>
Estruturas em Obsolescência
Devemos evitar, pois em futuras versões não mais serão utilizados.
Funções com nomes antigos, tipo:
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP
Aplicativos em PHP (WikiBooks - democratizando o conhecimento) - Página 147/475
pg_numrown, pg_fecharray e similares.
Caso se faça uma busca por estas funções no site do PHP nada será retornado.
As funções atuais tem nomes com espaço separando palavras, como:
pg_num_rown, pg_fech_array e similares.
Algumas funções agora tem outro nome, por exemplo:
pg_exec agora deve ser substuida por pg_query
Algumas estruturas de controle usavam os dois pontos:
while: ... endwhile, if: ... endif, devemos preferir:
while(){ ... }, if(){ ... }
Evitar o uso do comentário tipo shell #.
Estruturas do tipo 4HTTP_POST_VARS e similares foram substituídas por: $_POST e similares.
Formatando Números
number_format
number_format -- Formata um número com os milhares agrupados
string number_format ( float number [, int decimals] )
string number_format ( float number, int decimals, string dec_point, string thousands_sep )
number_format() retorna uma versão formatada de number. Esta função aceita um, dois ou quatro 
parâmetros (não três):
Se apenas um parâmetro é dado, number