ae Sat Jun 1 15:47:49 2002 EDT
Modified files:
/phpdoc-pt_BR/language expressions.xml
Log:
update
Index: phpdoc-pt_BR/language/expressions.xml
diff -u phpdoc-pt_BR/language/expressions.xml:1.4
phpdoc-pt_BR/language/expressions.xml:1.5
--- phpdoc-pt_BR/language/expressions.xml:1.4 Wed Dec 12 15:56:35 2001
+++ phpdoc-pt_BR/language/expressions.xml Sat Jun 1 15:47:49 2002
@@ -1,23 +1,25 @@
<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- EN-Revision: 1.19 Maintainer: ae Status: ready -->
<chapter id="language.expressions">
<title>Express�es</title>
<simpara>
- Express�es s�o as pe�as de constru��o mais importantes do PHP. Em PHP,
+ Express�es s�o as pe�as de constru��o mais importantes do PHP. No PHP,
quase tudo o que voc� escreve s�o express�es. A maneira mais simples e ainda
- mais precisa de definir uma express�o � " tudo o que tem um valor".</simpara>
+ mais precisa de definir uma express�o � "tudo o que tem um
+ valor".</simpara>
<simpara>
- As formas mais b�sicas de express�es s�o constantes e vari�veis. Quando voc�
- digita "$a = 5", voc� est� atribuindo '5' a $a. '5', obviamente, tem o valor
+ As formas mais b�sicas de express�es s�o constantes e vari�veis. Quando voc�
+ digita "$a = 5", voc� est� atribuindo '5' para $a. '5', obviamente, tem o valor
5, ou, em outras palavras, '5' � uma express�o com o valor 5 (neste caso, '5'
� uma constante inteira).</simpara>
<simpara>
- Depois desta atribui��o, voc� pode esperar que o valor de $a seja 5 tamb�m,
- assim se voc� escrever $b = $a, voc� pode esperar que ele se comporte da mesma
+ Depois desta atribui��o, voc� pode esperar que o valor de $a seja 5 tamb�m,
+ assim se voc� escrever $b = $a, voc� pode esperar que $b se comporte da mesma
forma que se voc� escrevesse $b = 5. Em outras palavras, $a � uma express�o com
- valor 5 tamb�m. Se tudo funciona bem, isto � exatamente o que acontecer�.
+ valor 5 tamb�m. Se tudo funcionou bem, isto � exatamente o que acontecer�.
</simpara>
<para>
@@ -25,15 +27,18 @@
considere a seguinte fun��o:
<informalexample>
- <programlisting>
-function foo () {
+ <programlisting role="php">
+<![CDATA[
+function foo ()
+{
return 5;
}
+]]>
</programlisting>
</informalexample></para>
<simpara>
- Assumindo que voc� est� familiarizado com o conceito de fun��es (se n�o estiver,
+ Assumindo que voc� est� familiarizado com o conceito de fun��es (se n�o estiver,
d� uma olhada no cap�tulo sobre fun��es), voc� pode assumir que digitar
<literal>$c = foo()</literal> � essencialmente a mesma coisa que escrever
<literal>$c = 5</literal>, e voc� est� certo. Fun��es s�o express�es com o valor
@@ -42,8 +47,8 @@
computam algo.</simpara>
<simpara>
- Obviamente, os valores em PHP n�o t�m que ser inteiros, e muito frequentemente
eles
- n�o s�o. O PHP suporta tr�s tipos de valor escalar: valores inteiros, valores de
+ Obviamente, os valores em PHP n�o t�m que ser inteiros, e muito freq�entemente
+eles
+ n�o s�o. O PHP suporta tr�s tipos de valores escalares: valores inteiros, valores
+de
ponto flutuante e valores de string (valores escalares s�o valores que voc� n�o
pode
quebrar em peda�os menores, diferente de matrizes, por exemplo).
O PHP tamb�m suporta dois tipos compostos (n�o-escalares): matrizes e objetos.
Cada
@@ -57,8 +62,8 @@
express�es. Considere o exemplo com o qual j� lidamos, '$a = 5'. � f�cil ver que
h� dois valores envolvidos aqui, o valor da constante inteira '5', e o valor de
$a que est� sendo atualizado para 5 tamb�m. Mas a verdade � que h� um valor
- adicional envolvido aqui, e que � o pr�prio valor da atribui��o. A pr�pria
atribui��o
- � avaliada com o valor atribu�do, neste caso 5. Na pr�tica, significa que
+ adicional envolvido, e que � o pr�prio valor da atribui��o. A pr�pria atribui��o
+ � avaliada com o valor atribu�do, neste caso 5. Na pr�tica, significa que
'$a = 5', independente do que fa�a, � uma express�o com o valor 5. Portanto,
escrever
algo como '$b = ($a = 5)' � como escrever '$a = 5; $b = 5;' (um ponto-e-v�rgula
marca o fim do comando). Como atribui��es s�o analisadas da direita para a
esquerda,
@@ -66,43 +71,43 @@
<simpara>
Outro bom exemplo de orienta��o de express�o � o pr� e o p�s-incremento e
decremento.
- Usu�rios de PHP/FI 2 e muitas outras linguagens podem estar familiarizados com a
- nota��o de vari�vel++ e vari�vel--. Estes s�o operadores de incremento e
decremento.
- Em PHP/FI 2, o comando '$a++' n�o tem valor (n�o � uma express�o), e portanto
voc�
- n�o pode atribuir desta forma ou us�-la de jeito nenhum. O PHP evoluiu a
capabilidade
- de incremento/decremento criando estas express�es tamb�m, como em C. Em PHP, como
em C,
+ Usu�rios de PHP/FI 2 e muitas outras linguagens podem estar familiarizados com a
+ nota��o de vari�vel++ e vari�vel--. Estes s�o os operadores de incremento e
+decremento.
+ No PHP/FI 2, o comando '$a++' n�o tem valor (n�o � uma express�o), e portanto voc�
+ n�o pode atribuir desta forma ou us�-la de jeito nenhum. O PHP evoluiu a
+capacidade
+ de incremento/decremento criando estas express�es tamb�m, como em C. Em PHP, como
+em C,
h� dois tipos de incremento - pr�-incremento e p�s-incremento. Tanto o
pr�-incremento
- quanto o p�s-incremento, essencialmente, incrementam vari�veis, e o efeito sobre
a
- vari�vel � id�ntico. A diferen�a � com o valor da express�o de incremento.
- O pr�-incremento, que � escrito '++$variable', � avaliado como o valor de
incremento
- (o PHP incrementa a vari�vel antes de ler seu valor, por isso o nome
pr�-incremento).
- O p�s-incremento, que � escrito '$variable++' � avaliado como o valor original da
+ quanto o p�s-incremento, essencialmente, incrementam vari�veis, e o efeito sobre a
+ vari�vel � id�ntico. A diferen�a � com o valor da express�o de incremento.
+ O pr�-incremento, que � escrito '++$variavel', � avaliado como o valor de
+incremento
+ (o PHP incrementa a vari�vel antes de ler seu valor, por isso o nome
+pr�-incremento).
+ O p�s-incremento, que � escrito '$variavel++' � avaliado como o valor original da
vari�vel, antes de ser incrementada (o PHP incrementa a vari�vel depois de ler seu
valor, por isso o nome 'p�s-incremento').</simpara>
<simpara>
- Um tipo muito comum de express�o s�o express�es de compara��o. Estas express�es
s�o
- avaliadas como 0 ou 1, significando &false; ou &true; (respectivamente). O PHP
suporta
- > (maior que), >= (maior ou igual), == (igual), != (diferente), < (menor
que)
- e <=(menor ou igual). Estas express�es s�o usadas mais frequentemente dentro
de
- execu��es condicionais, como em comandos <literal>if</literal>.</simpara>
+ Um tipo muito comum de express�o s�o express�es de compara��o. Estas express�es
+s�o
+ avaliadas como 0 ou 1, significando &false; ou &true;, respectivamente. O PHP
+suporta
+ > (maior que), >= (maior ou igual), == (igual), != (diferente), < (menor
+que)
+ e <=(menor ou igual). Estas express�es s�o usadas mais freq�entemente dentro de
+ instru��es condicionais, como em comandos <literal>if</literal>.</simpara>
<simpara>
O �ltimo exemplo de express�es com que n�s vamos lidar aqui s�o as express�es
combinadas
operador-atribui��o. Voc� j� sabe que se voc� quer incrementar $a de 1, voc� s�
precisa
escrever '$a++' ou '++$a'. Mas e se voc� quiser somar mais que um a ele, por
exemplo 3?
Voc� poderia escrever '$a++' v�rias vezes, mas esta obviamente n�o � uma forma
muito
- eficiente ou confort�vel. Uma pr�tica muito mais comum � escrever '$a = $a + 3'.
+ eficiente ou confort�vel. Uma pr�tica muito mais comum � escrever '$a = $a + 3'.
'$a + 3' � avaliada como o valor de $a mais 3, e � atribu�do de volta a $a, que
resulta
em incrementar $a de 3. Em PHP, como em v�rias outras linguagens como o C, voc�
pode
- escrever isto de uma forma mais curta, que com o tempo se torna mais limpa e
r�pida de
- se entender, tamb�m. Somar 3 ao valor corrente de $a pode ser escrito '$a +=3'.
Isto
+ escrever isto de uma forma mais curta, que com o tempo se torna mais limpa e
+r�pida de
+ se entender, tamb�m. Somar 3 ao valor corrente de $a pode ser escrito '$a +=3'.
+Isto
significa exatamente "pegue o valor de $a, some 3 a ele, e atribua-o de volta a
$a."
Al�m de ser mais curto e mais limpo, isto tamb�m resulta em execu��o mais r�pida.
O
- valor de '$a += 3', como o valor de uma atribui��o regular, � o valor atribu�do.
Note
- que N�O � 3, mas o valor combinado de $a mais 3 (este � o valor que � atribu�do a
- $a). Qualquer operador de duas posi��es pode ser usado neste modo
operador-atribui��o,
- por exemplo '$a -= 5' (subtrai 5 do valor de $a),
+ valor de '$a += 3', como o valor de uma atribui��o regular, � o valor atribu�do.
+Note
+ que N�O � 3, mas o valor combinado de $a mais 3 (este � o valor que � atribu�do a
+ $a). Qualquer operador de dois par�metros pode ser usado neste modo
+operador-atribui��o,
+ por exemplo '$a -= 5' (subtrai 5 do valor de $a),
'$b *= 7' (multiplica o valor de $b por 7), etc.</simpara>
<para>
@@ -110,82 +115,98 @@
o operador condicional tern�rio:
<informalexample><programlisting>
-$first ? $second : $third
-</programlisting></informalexample>
-
- Se o valor da primeira sub-express�o � verdadeiro (n�o-zero), ent�o a segunda
sub-express�o
- � avaliada, e este � o resultado da express�o condicional. Caso contr�rio, a
terceira
- sub-express�o � avaliada e este � o valor.</para>
+<![CDATA[
+$primeira ? $segunda : $terceira
+]]>
+ </programlisting></informalexample>
+
+ Se o valor da primeira sub-express�o � verdadeiro (&true;, n�o-zero), ent�o a
+segunda sub-express�o
+ � avaliada, e este � o resultado da express�o condicional. Caso contr�rio, a
+terceira
+ sub-express�o � avaliada e este � o valor.
+
+ </para>
<para>
- O seguinte exemplo deve ajud�-lo a entender um pouco melhor pr� e p�s-incremento
e express�es
+ O seguinte exemplo deve ajud�-lo a entender um pouco melhor pr� e p�s-incremento
+e express�es
em geral:
<informalexample>
- <programlisting>
-function double($i) {
+ <programlisting role="php">
+<![CDATA[
+function double($i)
+{
return $i*2;
}
$b = $a = 5; /* atribui o valor cinco �s vari�veis $a e $b */
-$c = $a++; /* p�s-incremento, atribui o valor original de $a
- (5) a $c */
-$e = $d = ++$b; /* pr�-incremento, atribui o valor incrementado de
+$c = $a++; /* p�s-incremento, atribui o valor original de $a
+ (5) para $c */
+$e = $d = ++$b; /* pr�-incremento, atribui o valor incrementado de
$b (6) a $d e $e */
/* neste ponto, tanto $d quanto $e s�o iguais a 6 */
-$f = double($d++); /* atribui o dobro do valor de $d <emphasis>antes</emphasis>
+$f = double($d++); /* atribui o dobro do valor de $d <emphasis>antes</emphasis>
do incremento, 2*6 = 12 a $f */
$g = double(++$e); /* atribui o dobro do valor de $e <emphasis>depois</emphasis>
do incremento, 2*7 = 14 a $g */
-$h = $g += 10; /* primeiro, $g � incrementado de 10 e termina com o valor
+$h = $g += 10; /* primeiro, $g � incrementado de 10 e termina com o valor
24. o valor da atribui��o (24) � ent�o atribu�do
a $h, e $h termina com o valor 24 tamb�m. */
- </programlisting></informalexample></para>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
<simpara>
No come�o do cap�tulo, n�s dissemos que descrever�amos os v�rios tipos de
comandos, e como prometido, express�es podem ser comandos. Por�m, nem toda
- express�o � um comando. Neste caso, um comando tem a forma 'expr' ';', ou
+ express�o � um comando. Neste caso, um comando tem a forma 'expr' ';', ou
seja, uma express�o seguida de ponto-e-v�rgula. E '$b=$a=5;', $a=5 � uma
express�o v�lida, mas n�o � um comando por si s�. '$b=$a=5;' por�m � um
comando v�lido.</simpara>
<simpara>
- Uma �ltima coisa que vale mencionar � o valor-verdade de express�es. Em
- muitos eventos, principalmente em execu��es condicionais e 'loops', voc� n�o
- est� interessado no valor espec�fico da express�o, mas s� interessa se ela
- significa &true; ou &false; (o PHP n�o tem um tipo booleano dedicado). O
- valor-verdade de express�es em PHP � calculado de uma forma similar ao Perl.
- Qualquer valor num�rico diferente de zero � &true;, zero � &false;. Tenha certeza
- de notar que valores negativos s�o diferentes de zero, e portanto considerados
- &true;! A string vazia e a string "0" s�o falsas; todas as outras strings s�o
- &true;. Com valores n�o-escalares (matrizes e objetos) - se o valor n�o contiver
- elementos � considerado &false;, caso contr�rio � considerado &true;.</simpara>
-
+ Uma �ltima coisa que vale mencionar � o valor-verdade de express�es.
+ Em muitos eventos, principalmente em instru��es condicionais e loops, voc� n�o
+ est� interessado no valor espec�fico da express�o, mas somente se ela
+ significa &true; ou &false; (o PHP n�o tem um tipo booleano dedicado).
+
+ <!-- (PHP doesn't have a
+ dedicated boolean type) : WRONG, php does. -->
+
+ As constantes &true; e &false; (insensitivas ao caso) s�o seus dois
+ valores booleanos poss�veis. As vezes uma express�o �
+ automaticamente convertida para um booleano. Veja a
+ <link linkend="language.types.typecasting">se��o sobre
+ type-casting</link> para detalhes de como isso � feito.
+ </simpara>
<simpara>
O PHP fornece uma implementa��o completa e poderosa de express�es, e a completa
- documenta��o dela vai al�m do escopo deste manual. Os exemplos acima devem dar a
+ documenta��o dela vai al�m do escopo deste manual. Os exemplos acima devem dar a
voc� uma boa id�ia sobre o que s�o as express�es e como voc� pode construir
express�es �teis. Atrav�s do restante do manual n�s escreveremos
- <replaceable>expr</replaceable> para indicar qualquer express�o PHP
v�lida.</simpara>
+ <replaceable>expr</replaceable> ou <replaceable>expressao</replaceable>
+ para indicar qualquer express�o PHP v�lida.</simpara>
</chapter>
- <!-- Keep this comment at the end of the file
- Local variables:
- mode: sgml
- sgml-omittag:t
- sgml-shorttag:t
- sgml-minimize-attributes:nil
- sgml-always-quote-attributes:t
- sgml-indent-step:1
- sgml-indent-data:t
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
indent-tabs-mode:nil
- sgml-parent-document:nil
- sgml-default-dtd-file:"../manual.ced"
- sgml-exposed-tags:nil
- sgml-local-catalogs:nil
- sgml-local-ecat-files:nil
- End:
- -->
+sgml-parent-document:nil
+sgml-default-dtd-file:"../../manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->