Jump to content


Photo

O Que é Type Casting?


  • Faça o login para participar
4 replies to this topic

#1 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 24/09/2009, 16:18

Já vi aqui no fórum alguns comentando, e após ler no manual do PHP fiquei um pouco confuso.

PHP does not require (or support) explicit type definition in variable declaration;


No manual diz que o PHP não aceita e não necessita a declaração dos tipos das variáveis. Beleza. Logo mais abaixo explica type casting através de alguns exemplos. Se type casting não é definir o retorno de uma variavel, então o que é?

[]'s (y)
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 24/09/2009, 20:14

Sim, é a conversão de tipo. O PHP possui tipos, mas nós não indicamos nas variáveis o tipo que ela deverá comportar ao longo do programa, como é feito em outras linguagens que requerem a especificação de tipo.

Fazemos o type-casting no PHP apenas para nos certificar que o valor que a variável irá passar a ter será exatamente o valor adequado para o tipo, caso este não o seja.

Um caso comum, é receber dados do usuário onde esperamos um inteiro, e não queremos fazer exatamente uma validação com uma crítica, então simplesmente convertemos ele pra inteiro. E no pior caso ele será convertido para 0. Se a informação for dada num formato de um número fracionado, ficamos apenas com a parte inteira, etc.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 Édipo Costa Rebouças

Édipo Costa Rebouças

    Rock Lee

  • Ex-Admins
  • 1079 posts
  • Sexo:Masculino
  • Localidade:Brasil - São Paulo

Posted 25/09/2009, 00:19

Como o Eclesiastes falou é simplesmente conversão de Dados, Converter de inteiro para String, String para float, inteiro para float, por exemplo a divisão de dois numeros inteiros: 2/3, gera 0 e resto 1, agora 2/3,0 gera um valor fracionario... se você converter o um dos valores com as funções de casting do php, vai dar um valor fracionário/decimal/real.

Em java por exemplo, é mais visivel a diferença de tipo( fora a declaração do tipo antes do nome da variavel ), se você for somar 1+"1" onde um é inteiro e o outro e string, vai dar 11. você tem que fazer um casting no segundo numero para dar 2.

Edição feita por: Édipo Costa Rebouças, 25/09/2009, 00:22.

Desenvolvedor WEB Citrus7 - Uma agência web diferente - Édipo Costa Rebouças
Portfolio http://www.edipo.com.br
Último trabalho : http://www.didierlevy.com.br [XHTML + CSS + JS + PHP ]

Posted Image Meu post lhe ajudou? me da pontinho!

#4 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 26/09/2009, 11:40

Captei.

Então diferentemente de declarar que tipos de valores uma variável vai possuir ao longo de todo o código, é declarado o tipo de valor que ela deve assumir em um dado momento.

Valeu pelas respostas (y)
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#5 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 26/10/2017, 13:31

Viagra Professionnel 100 Mg Propecia While On Accutane levitra 60 mg Finasteride Website
Whare Can I Get Cialis No Prescription Comprare Cialis Originale Italia Viagra Bei Frau viagra online pharmacy Levitra Funziona Bene Buy Doxycycline In Bali Generic Cialis Tadalafil 20mg




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq