Filippe Brito

Em Busca da “Zend PHP Yellow Pages”

Follow me on TwitterRSS Feeds

  • Home
  • Quem Sou
  • Portfólio
  • Contato

Final da parte sobre operadores do php básico

Aug 8th

Posted by Filippe in php básico

No comments

Terminamos a sessão de 10 posts sobre operadores, abaixo estaremos listando todos eles:

  1. Operadores – Parte I
  2. Operadores – Parte II – Operadores Aritméticos
  3. Operadores – Parte III – Operador de concatenação de String
  4. Operadores – Parte IV – Operadores de Bits
  5. Operadores – Parte V – Operadores de atribuição
  6. Operadores – Parte VI – Referenciado variáveis
  7. Operadores – parte VII – Operadores de comparação
  8. Operadores – parte VIII – Operadores Lógicos
  9. Operadores – parte IX – Outros operadores
  10. Operadores – parte X – Operadores de precedência e associatividade
operadores, php

Operadores – parte X – Operadores de precedência e associatividade

Aug 7th

Posted by Filippe in php básico

No comments

Nem todas as regras obedecem à mesma ordem de precedência. Podendo, algumas vezes, uma operação ser realizada fora de ordem. Este problema pode ser resolvido de duas maneiras: usando parênteses para indicar quais operações deve ser realizada em primeiro lugar, ou usando um conjunto de regras pré-definidas de precedência.

Mesmo estabelecendo a prioridade de uma determinada operação, ainda faltaria uma coisa importante: como vamos decidir a ordem que as operações serão executadas quando possuírem a mesma precedência? Isto será determinado por uma operação da associatividade, que podem ser esquerda (onde as operações serão realizadas da esquerda pra direita), direita (onde as operações serão executadas da direita pra esquerda) ou nenhum (para as operações que não podem se associar).  A tabela a seguir mostra a precedência e a associatividade de cada operação:

Esquerda [
Não associada ++ -
Não associada ! ˜ – (int) (float) (string) (array) (object) @
Esquerda * / %
Esquerda + – .
Esquerda <<  >>
Não associada <  <=  >  >=
Não associada == != === !==
Esquerda &
Esquerda ^
Esquerda |
Esquerda &&
Esquerda ||
Esquerda ? :
Direita = += -= *= /= .= %= &= |= ˆ= <<= >>=
Esquerda and
Esquerda xor
Esquerda or
Esquerda ,
operadores, php

Operadores – parte IX – Outros operadores

Aug 6th

Posted by Filippe in php básico

No comments

Alem de todos os operadores que vimos até aqui, também existem alguns especializados para simplificar determinadas tarefas. Um deles é o operador de suprimir erros “@” quando precedida a uma expressão, esse operador ignora quase todas as mensagens de erro enquanto a expressão estiver sendo executada:

$x = @mysql_connect();

O código acima irá impedir a chamada a função mysql_connect() caso exista algum erro encontrado.
Outro operador torna possível executar um comando da Shell e recuperar sua saída. O exemplo a seguir fará com que a saída do comando ls do UNIX seja armazenada no interior da variavel $a:

$a = ‘ls -l‘;

operadores, php

Operadores – parte VIII – Operadores Lógicos

Aug 5th

Posted by Filippe in php básico

No comments

Operadores lógicos são usados para ligar valores booleanos em conjunto e obter um terceiro valor booleano em função das duas primeiras. Existem quatro operadores lógicos em PHP das quais três são binárias. O único operador unário é o NÃO Lógico, identificado por uma exclamação antes do operando:

$a = false;
echo !$a; // será impresso 1 (true)

É importante compreender que todos os operadores lógicos trabalham apenas com valores booleanos. por isso, o PHP irá converter primeiro para valor Booleano e, em seguida, executar a operação.

Os três operadores binários são:

&& / AND Retornará true caso os operandos da direita E esquerta do operador retornem true.
|| / OR Retornará true caso um dos operandos o da direita OU o da esquerda retornar true. Podendo ser ambos.
XOR O ou exclusivo retornará true se o um dos operandos o da direita OU o da esquerda retornar true, mais não ambos.

É importante saber que o PHP tem uma simples estratégia para avaliar os resultados. Por exemplo, se a esquerda do operando && (AND) a operação for avaliada como false. Automaticamente será retornado false, já que qualquer outro resultado não mudará essa condição.

operadores, php

Operadores – parte VII – Operadores de comparação

Jul 31st

Posted by Filippe in php básico

No comments

São operadores que estabelecem uma relação de equivalência entre dois valores. Eles tanto podem determinar se dois valores são iguais (ou não iguais) entre si, ou se um é maior (ou menor) do que o outro. O resultado de uma operação comparação é sempre um valor Booleano.

Existem quatro operadores de equivalência:

== Equivalentes. Verifica se os dois operandos são equivalentes,  o que significa que eles podem ser convertidos para o tipo de dados comum que eles têm o mesmo valor, mais não necessariamente do mesmo tipo.
=== Identidade. Verifica se os operandos possuem o mesmo Tipo e têm o mesmo valor.
!= Não Equivalentes. Verifica se os dois operandos são não equivalentes, sem verificar o seu tipo.
!== Operador não-idênticos. Verifica se os dois operandos não possuem o mesmo tipo de dados ou não têm o mesmo valor.

É muito fácil confundir o operador de atribuição (=) pelo operador de comparação (==) e este é, na verdade, um dos erros mais comuns na programação.  Uma solução parcial para este problema é utilizar um padrão de projetos em que o programador inverte a ordem de seus operandos quando se compara uma variável com valor. Por exemplo, em vez de:

echo $a == 10;

Você poderia escrever:

echo 10 == $a;

Estas duas operações são totalmente idênticas, mas, devido à esquerda operador ser um valor, se tivesse esquecido de um dos sinais iguais, o parser teria jogado um erro, assim, alertando-o para o seu erro.
Outros conjuntos de diferentes operadores estabelecem uma relação de desigualdade entre os dois operandos, ou seja, se um dos dois é maior do que o outro:

< Retorna true se o operando da esquerda for menor que o da direita.
<= Retorna true se o operando da esquerda for menos ou igual ao da direita.
> Retorna true se o operando da esquerda for maior que o da direita.
>= Retorna true se o operando da esquerda for maior ou igual ao da direita.

Embora o processo seja claro para os números, as coisas mudar um pouco para outros tipos de dados, por exemplo, strings são comparadas através da análise do valor binário de cada byte na seqüência até dois valores diferentes são encontrados, o resultado é então determinado pelo valor numérico desses dois bytes. Por exemplo:

$esquerda = “ABC”;
$direita = “ABD”;
echo (int) ($esquerda > $direita);

O código acima imprime 0 (ou seja, falso), porque a letra D é mais elevado na variável da direita, do que na letra C da variável da esquerda. Enquanto você pode poderia pensar que esta comparação ocorre por causa da ordem alfabética. Considere, os seguintes exemplos:

$esquerda = ’maça’;
$direita = ’Maça’;
echo (int) $esquerda > $direita;

Neste exemplo será impresso 1 (verdadeiro), pois o valor ASCII do caractere “a” é 97 que por sua ver é mais elevado que o caractere “A” que é 65.

OBS: A utilização de operadores comparação com arrays também introduz um conjunto de regras diferentes. Veremos mais adiante.

operadores, php básico

Operadores – Parte VI – Referenciado variáveis

Jul 21st

Posted by Filippe in php básico

No comments

Por padrão, os operadores trabalham pela atribuição de valor, ou seja, eles copiar o valor de uma expressão para outra. Se do lado direito do operando for uma variável, somente seu valor será copiado, de modo que qualquer alteração subseqüente ao da esquerda do operador não será refletindo no operador da direita. Por exemplo:

$a = 10;
$b = $a;
$b = 20;
echo $a; // será impresso  10

Normalmente, você espera que esse seja o resultado obtido, mais a casos em que você queira uma tarefa que o resultado seja obtido por referência, de modo que a expressão da esquerda do operando torna-se “ligado” com a expressão da direita. Por exemplo:

$a = 10;
$b = &$a; // por referência
$b = 20;
echo $a; // será impresso 20

OBS: O operador trabalha pela atribuição de valor para todos os tipos de dados, exceto objetos, os quais sempre são passados por referência, independentemente do operador “&” ser usado ou não.

A utilização de variáveis por referência usada algumas vezes pode ser até útil, mas sempre será uma técnica PHP bastante arriscada, porque variáveis PHP tendem a permanecer ativas por um longo período de tempo, até mesmo dentro de uma função. Além disso, contrariamente ao que acontece em muitas outras línguas, essa tecnica muitas vezes é mais lenta do que a atribuição de valor, porque o PHP usa uma inteligente “deferred-copy” mecanismo que otimiza a realidade de valor atribuições.

operadores, php

Operadores – Parte V – Operadores de atribuição

Jul 16th

Posted by Filippe in php básico

No comments

Com os operadores de atribuição é possível atribuir um valor a uma variável. Esse é um dos mais simples operadores e é composto por um sinal de igual (=) . Que nós já vimos em exemplos de posts anteriores.

$variavel = ’valor’;
// $variavel agora contem a string ’valor ’

Além disso, é possível combinar esse operador com todos os operadores aritméticos e de bits. Assim será possível executar uma ação e atribuir o valor a uma variável simultaneamente.

$variavel = 1;
// $variavel agora contem o valor inteiro igual a 1
$variavel += 3;
/*
$variavel agora contem o valor inteiro igual a 4
*/

Neste exemplo, estamos a unindo dois operadores, o operador aritmetico (no sinal de mais) com o operador de atribuição (sinal de igual) para acrescentar ao valor atual da nossa $variavel, o inteiro 3. Tornando assim o valor final igual a 4. Esta técnica pode ser usada com todos os operadores de bit e aritmético.

operadores, php

Operadores – Parte IV – Operadores de Bits

Jul 15th

Posted by Filippe in php básico

No comments

Operadores de bits são usados para manipular bits de dados.  Todos estes operadores são projetados para trabalhar apenas com números inteiros, por isso, o interpretador tentará converter os seus operandos para inteiros antes de executá-los.

O mais simples é operador de bit é o não binário, que negará todos os bits de um número inteiro.
Ex:

$x = 0;
echo ~$x; //irá imprimir -1

Um grupo de operadores binário é usado para executar a manipulação básica de bit, combinando os dois bits de seus operandos, de várias maneiras:

& Operador AND (e). O resultado da operação será um valor ativo caso eles estejam setados em ambos os operandos, e desativado caso contrário.
| Operador OR (ou). O resultado da operação será um valor ativo caso eles estejam setados em algum dos operandos, e desativado caso não esteja em nenhum dos operandos.
^ Operador XOR (ou exclusivo). O resultado da operação será um valor cujo os bits serão ativos em um ou outro operando, e desativados caso contrario.

Estas operações são todas muito simples, com a possível exceção do XOR (ou exclusivo), que pode parecer estranho à primeira vista. Na realidade, sua funcionalidade é bastante simples: se o bit à esquerda ou direita está configurado, o operando comporta exatamente como o OR (ou). Se ambos os bits estão ativados ou desativados, o resultado é simplesmente invertido.
Um terceiro conjunto de operadores é usado para transferir os bits da esquerda ou direita:

<< deslocar bits para esquerda – Esta operação desloca à esquerda dos bits do operando por um número de posições igual ao direito do operando, introduzindo bits vazios nas posições de deslocamento.
>> deslocar bits para direita – Esta operação desloca à direita dos bits do operando por um número de posições igual ao direito do operando, introduzindo bits vazios nas posições de deslocamento.

É interessante notar que estas duas últimas operações proporcionam uma forma fácil (e muito rápida) de multiplicar inteiros com uma potência de dois. Por exemplo:

$x = 1;
echo $x << 1; // será impresso 2
echo $x << 2; // será impresso 4

$x = 8;
echo $x >> 1; // será impresso 4
echo $x >> 2; // será impresso 2

Você deve, entretanto, estar ciente do fato que, mesmo que estas operações possam aproximar uma multiplicação ou uma divisão por uma potência de dois, não é exatamente a mesma coisa. Os cenários que podem ser obtidos resultados inesperados. Por exemplo, em uma máquina de 32 bits, vai acontecer o seguinte:

$x = 1;
echo $x << 32;
echo $x * pow (2, 32);

A segunda linha deste exemplo obterá saídas zero, porque todos os bits têm sido deslocado para fora do valor inteiro. Por outro lado, segundo o exemplo (que solicita o Pow () função para elevar o poder de 2 a 32) irá retornar o valor correto 4.294.967.296 que, casualmente, agora será um valor flutuante porque tal número não pode ser representado usando um inteiro de 32 bits.

operadores, php

Operadores – Parte III – Operador de concatenação de String

Jul 11th

Posted by Filippe in php básico

No comments

Ao contrário de muitas outras linguagens de programação, PHP tem um operador especial para concatenar strings:

$string = “fute” . “bol”;
// $string agora contem o valor ’futebol’

$string2 = “desalão”;
// $string2 agora contem o valor ’desalão’

$string .= $string2;
// após a concatenação das duas variáveis, nós teremos a variavel $string igual a ’futeboldesalão’

echo $string;
// será impresso ’futeboldesalão’

OBS: É importante lembrar que essa não é a melhor forma de se concatenar strings e sim que essa é a única maneira. Usar o operador de adição indicará que as strings serão convertidas primeiramente aos valores numéricos, e adicionadas em seguida (assim originando um valor numérico).

operadores, php

Operadores – Parte II – Operadores Aritméticos

Jul 10th

Posted by Filippe in php básico

No comments

Operadores aritméticos são os responsáveis pelas operações matemáticas básicas.

Adição $a = 1 + 3.5;
Subtração $a = 4 – 2;
Multiplicação $a = 8 * 3;
Divisão $a = 15 / 5;
Modulo $a = 23 % 7;

OBS: Lembre-se que alguns operadores matemáticos (por exemplo, o operador de adição) assumem um significado diferente quando aplicados a arrays. Falaremos disso mais adiante.

Operadores de incrementação e decrementação formam uma categoria especial de operadores, com eles é possível incrementar e decrementar valores inteiros. Eles são operadores unários, porque eles só aceitam um operando (ou seja, a variável que necessita ser incrementado ou decrementado), e podem mudar de comportamento, dependendo se forem usadas antes ou depois da variável.

A posição do operador determina se o ajuste será realizado antes, ou depois da devolução do valor:

  • Se o operador estiver depois do operando, o interpretador irá primeiro retornar o valor atual da variável e depois incrementar ou decrementar o valor.
  • Se o operador estiver antes do operando, o interpretador irá primeiro incrementar ou decrementar o valor, e depois retornar o valor.

Veja alguns exemplos:

$a = 1;
// Atribuindo o valor inteiro 1 para a variavel $a

echo $a++;
// Imprimindo 1, $a agora é igual a 2

echo ++$a;
// Imprimindo 3, $a agora é igual a 3

echo –$a;
// Imprimindo 2, $a agora é igual a 2

echo $a–;
// Imprimindo 2, $a agora é igual a 1

OBS: uso em excesso desse operador pode tornar seu código de compreensão difícil, até os melhores programadores algumas vezes são surpreendidos pelo uso desse operador. Por isso use-o com cautela.

Vale apena ressaltar também que esse operador deve ser utilizado para valores numéricos. Caso você tente incrementar uma string será retornado 1 como no exemplo abaixo:

$a = “teste”;
echo ++$a;
// será impresso 1 porque primeiro será convertido pra 0 e depois acrescentado 1.

operadores, php
«1234»
    • Recent comments
    • Popular posts
    • Archives
    • Tags
    • Categories
    • arrays (3)
      • Array Básico (1)
    • funções (7)
    • jquery (1)
    • php básico (23)
      • erros (3)
      • estruturas de controle (4)
    • retorno (1)
    • Sem categoria (2)
    array básico certificação constantes erros estruturas de controle funções jquery operadores php php básico retorno tipo de erros variáveis
    • July 2010 (3)
    • February 2010 (6)
    • January 2010 (1)
    • May 2009 (1)
    • January 2009 (4)
    • August 2008 (9)
    • July 2008 (7)
    • June 2008 (1)
    • May 2008 (2)
    • April 2008 (3)
    • Erros – parte I – Erros e gerenciamento de erros (2)
    • Sintaxe (1)
    • Funções – Parte I – Sintaxe Básica (1)
    • Funções – Parte III – O escopo da variável (1)
    • Básico sobre arrays (1)
    • Em Busca da “Zend PHP Yellow Pages” (0)
    • Anatomia de um Script PHP (0)
    • Tipos de Dados (0)
    • Operadores – Parte II – Operadores Aritméticos (0)
    • Variáveis (0)
    • Roque Junior: Olhai, um dia crio coragem e faço meu tb :D Parabéns.
    • Carlos: Excelente esse seu tutorial, estava procurando uma explicação de forma prática sobre esse assunto e ...
    • Rafael: Opa, boa tarde! Estou montando equipe para uma produtora web e gostaria do seu contato.
    • Filippe: Que bom que gostou irving, só não foi o primeiro a comentar. hehehe. O primeiro comentário está e...
    • Irving: E aew Brito! Vi agora o seu blog cara, ta bacana! Parabéns aew, vou ficar ligado! Ah, sou o ...
    • hugo arruda: grande filipe, ficou massa o site, e a abortagem de php também, abraços amigão.
  • Minhas Twittadas

    Loading tweets...
    Follow me on Twitter!
  • User Login






    • Lost your password?
  • Blogroll

    • Bruno Monteiro
    • Estudando Ti
    • HostBits
    • Inzoo Web Solutions
    • Irving
    • Arquivos

      • July 2010 (3)
      • February 2010 (6)
      • January 2010 (1)
      • May 2009 (1)
      • January 2009 (4)
      • August 2008 (9)
      • July 2008 (7)
      • June 2008 (1)
      • May 2008 (2)
      • April 2008 (3)
    • Categorias

      • arrays
        • Array Básico
      • funções
      • jquery
      • php básico
        • erros
        • estruturas de controle
      • retorno
      • Sem categoria
    • Tag Cloud

      array básico certificação constantes erros estruturas de controle funções jquery operadores php php básico retorno tipo de erros variáveis
Mystique theme by digitalnature | Powered by WordPress
RSS Feeds XHTML 1.1 Top