Resumo : neste tutorial, você aprenderá sobre malabarismo de tipo PHP e como ele funciona.
Introdução ao malabarismo de tipo PHP
PHP é uma linguagem de programação de digitação livre. Isso significa que quando você define uma variável , não precisa declarar um tipo para ela. Internamente, o PHP determinará o tipo pelo contexto em que você usa a variável.
Por exemplo, se você atribuir uma string a uma variável, seu tipo será string:
<?php
$my_var = 'PHP'; // a string
Linguagem de código: PHP ( php )
E você atribui um inteiro à mesma variável, e seu tipo será o inteiro:
<?php
$my_var = 'PHP'; // a string
$my_var = 100; // an integer
Linguagem de código: PHP ( php )
O PHP possui um recurso chamado malabarismo de tipos. Isso significa que durante a comparação de variáveis de tipos diferentes, o PHP irá convertê-las para o tipo comum e comparável. Por exemplo:
<?php
$qty = 20;
if($qty == '20') {
echo 'Equal';
}
Linguagem de código: PHP ( php )
Saída:
Equal
Linguagem de código: PHP ( php )
Por causa do malabarismo de tipos, o PHP converte a string '20'
em um número inteiro (20) e a compara com a $qty
variável. O resultado é true
. Portanto, você verá a mensagem Equal
na saída.
O malabarismo de tipos também funciona em operações aritméticas para variáveis de diferentes tipos. O exemplo a seguir ilustra como funciona o malabarismo de tipos em uma operação aritmética:
<?php
$total = 100;
$qty = "20";
$total = $total + $qty;
echo $total; // 120
Linguagem de código: PHP ( php )
O tipo de $total
é um número inteiro, enquanto o $qty
é uma string. Para calcular a soma, o PHP primeiro converte o valor da variável $qty em um número inteiro. O resultado é um número inteiro.
Considere o seguinte exemplo:
<?php
$total = 100;
$qty = "20 pieces";
$total = $total + $qty;
echo $total; // 120
Linguagem de código: PHP ( php )
Neste exemplo, o PHP converte a string “20 peças” como um número inteiro 20 antes de calcular a soma.
Resumo
- PHP é uma linguagem de digitação livre. PHP determina o tipo de variável com base no valor.
- Ao comparar valores de tipos diferentes, o PHP os converte implicitamente para o mesmo tipo comparável.