PHP, assim como outras linguagens, possui diversas palavras-chave e construtores de linguage, muitos deles bastante utilizados e outros talvez até desconhecidos.
Vejamos então uma lista com estas palavras-chave e construtores e para que servem ou como utiliza-los
Diferentemente do que muitos pensam, “echo” não é uma função, mas sim um construtor da linguagem. É utilizado para exibir uma ou mais strings:
<?php
echo ‘Ola ‘, ‘mundo ‘;
echo (“cruel\n”);
?>
Da mesma forma que “echo” não é uma função, “print” também não é. As principais diferenças entre “echo” e “print” são:
- “print” retorna um valor (sempre 1) e “echo” não retorna
- “echo” pode exibir mais do que uma string, e “print” não (echo ‘Ola ‘, ‘mundo ‘;)
<?php
print ‘Ola ‘;
print ‘mundo ‘;
print (“cruel\n”);
// note que
// print ‘Ola ‘, ‘mundo ‘;
// nao funciona
?>
“die” é um alias (apelido) para exit. “exit” serve para finalizar um script:
<?php
if(!file_exists(‘/etc/blablabla’))
exit(2); // finaliza o script, com status = 2 (file not found)
echo “Eu nao serei exibido”;
?>
$ php exit.php
$ echo $?
2
$
<?php
if(!file_exists(‘/etc/blablabla’))
exit(“Arquivo nao encontrado\n”); // finaliza o script exibindo uma mensagem
echo “Eu nao serei exibido”;
?>
$ php exit.php
Arquivo nao encontrado
$ echo $?
2
$
“exit” também não é uma função.
“if”, “else” e “elseif” não precisam de uma explicação, pois são realmente simples e bastante utilizados. “endif”, ao contrário, não é muito. É utilizado na sintaxe altenativa de “if”:
<?php
if ( 1 == 2 ):
echo “Fim do mundo\n”;
exit(42);
else :
echo “Tudo certo\n”;
endif;
?>
Assim como o “if”, “for” é bastante utilizado e não necessita uma explicação e também possui uma sintaxe alternativa:
<?php
for ( $cont = 0; $cont != 10; $cont++ ):
echo $cont;
echo “\n”;
endfor;
?>
Assim como o “if” e o “for”, o “while” também é bastante comum e possui uma sintaxe alternativa:
<?php
$cont = 0;
while($cont++ < 10):
echo $cont;
echo “\n”;
endwhile;
?>
$ php while.php
1
2
3
4
5
6
7
8
9
10
“foreach” é utilizado para fazer passar por todos os ítens de um array. E, como os citados anteriormente, também possui a sintaxe alternativa:
<?php
$sos = array(‘windows’, ‘fbsd’, ‘plan9′, ‘linux’);
foreach ( $sos as $so ):
echo $so;
echo “\n”;
endforeach;
?>
$ php foreach.php
windows
fbsd
plan9
linux
É possível obter também o índice do ítem corrente do array sendo iterado:
<?php
$paises = array(‘Brasil’, ‘Argentina’, ‘Paraguai’);
// utilizando a forma mais comum de foreach
foreach ( $paises as $indice => $pais ) {
echo $indice;
echo ‘ – ‘;
echo $pais;
echo “\n”;
}
?>
$ php foreachi.php
0 – Brasil
1 – Argentina
2 – Paraguai
- switch, case, default e endswitch
“switch”, “case” e “default” tem o uso bastente difundido também. Já endswitch não costuma ser muito utilizado:
<?php
$cidade = ‘Curitiba’;
switch ( $cidade ):
case ‘Sao Paulo’:
echo “Nao foi uma boa escolha\n”;
break;
case ‘Rio de Janeiro’:
echo “Nao possui amor a vida ?\n”;
break;
case ‘Curitiba’:
echo “Boa escolha\n”;
break;
// opcao padrao, caso nao se encaixe em nenhuma das anteriores
default:
echo “Nenhuma da opcoes\n”;
break;
endswitch;
?>
$ php switch.php
Boa escolha
“do-while” é bem menos utilizado do que o “while”. A diferença entre ambos é que no “do-while” a expressão condional é executada após cada iteração, e não antes:
<?php
$cont = 1;
do {
echo $cont;
echo “\n”;
} while($cont++ < 10);
?>
$ php dowhile.php
1
2
3
4
5
6
7
8
9
10
“break” é utilizado para finalizar a execução de um bloco “switch”, “for”, “while”, “do-while” ou “foreach”:
<?php
$cidade = ‘Curitiba’;
switch ( $cidade ) {
case ‘Curitiba’:
echo “Boa escolha\n”;
case ‘Curitiba’:
echo “Curitiba novamente\n”;
break;
case ‘Sao paulo’:
echo “Nao tao boa escolha\n”;
break;
case ‘Curitiba’:
echo “Terceira vez Curitiba\n”;
break;
}
?>
$ php break.php
Boa escolha
Curitiba novamente
“break” pode ser utilizado também com um argumento númerico, que indica o nível do bloco que deve ser interrompido:
<?php
for ( $x = 0; $x < 10; $x++ ) {
for ( $y = 0; $y < 10; $y++ ) {
echo “$x * $y = “;
echo $x * $y;
echo “\n”;
if ( $x == 2 ) break 2;
}
}
?>
$ php breakn.php
0 * 0 = 0
0 * 1 = 0
0 * 2 = 0
0 * 3 = 0
0 * 4 = 0
0 * 5 = 0
0 * 6 = 0
0 * 7 = 0
0 * 8 = 0
0 * 9 = 0
1 * 0 = 0
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
2 * 0 = 0
“continue” é utilizado no interior de loops, para parar a execução, retornar para o começo do bloco da estrutura de comandos e começar uma nova iteração.
<?php
// exibindo numeros impares
for ( $cont = 1; $cont < 10; $cont++ ) {
// resto da divisao de $cont por 2. Se for = 0, o numero e’ par,
// deve retornar para o inicio do loop
if ( $cont % 2 == 0 ) continue;
echo $cont.“\n”;
}
?>
$ php continue.php
1
3
5
7
9
Continue pode ser utilizado também em “foreach”, “while”, “do” e “switch”. Vale observar que “switch” é considerado uma strutura de looping para o “continue”.
E assim como o break pode ser utilizado com um argumento número para indicar o nível que do bloco que deve ser interrompido, o continue também pode utilizar este argumento, tendo o funcionamento análogo:
<?php
for ( $cont = 1; $cont < 5; $cont++ ) {
for ( $cont2 = 1; $cont2 < 10; $cont2++ ) {
if ( $cont2 == 3 ) continue 2;
echo “$cont * $cont2 = “;
echo $cont * $cont2;
echo “\n”;
}
}
?>
$ php continuei.php
1 * 1 = 1
1 * 2 = 2
2 * 1 = 2
2 * 2 = 4
3 * 1 = 3
3 * 2 = 6
4 * 1 = 4
4 * 2 = 8
Nesta primeira parte ficamos nisso.