Números em PHP

Mergulhe no mundo dos números PHP com este guia completo. Exploraremos as várias técnicas e métodos para lidar com números em PHP, completos com exemplos práticos para ajudá-lo a entender melhor os conceitos.

O mundo da programação gira em torno de números, e o PHP não é exceção. A linguagem de script PHP do lado do servidor usa números para uma variedade de tarefas, como cálculos matemáticos, manipulação de dados e tomada de decisão.

Números PHP

Vamos olhar em profundidade para Integers , Floats e Number Strings .



Números PHP

Você pode facilmente converter tipos de dados usando PHP Numbers porque fornece conversões automáticas de tipo de dados .

Um valor inteiro será convertido automaticamente em um tipo inteiro se for atribuído a uma variável .

Se você atribuir uma string à mesma variável, o tipo da variável mudará para uma string.

Em alguns casos, essa conversão automática pode fazer com que seu código seja interrompido.


Inteiros em PHP

Os seguintes números são todos inteiros:

2, 256 , – 256 , 10358 , -179567 .

Em PHP , um inteiro é um número que não possui uma parte decimal.

Quando falamos sobre números Php , existem dois tipos de tipos de dados inteiros: um é um número não decimal entre -2147483648 e 2147483647 em sistemas de 32 bits, e o outro é um número não decimal entre -9223372036854775808 e 9223372036854775807 em 64 bits sistemas.

É provável que qualquer valor acima (ou abaixo) seja armazenado como float, pela simples razão de que excede o limite inteiro.

Lembre-se: Além disso, também é útil saber que mesmo que o resultado de 4 vezes 2,5 seja 10, o resultado ainda será armazenado como float porque um dos operandos é float (2,5).

Regras de inteiros:

  1. Um dígito é necessário para um número inteiro.
  2. Sem ponto decimal em um número inteiro.
  3. Os inteiros podem ser positivos ou negativos.
  4. As notações binária (base 2), octal (base 8), decimal (base 10) e hexadecimal (base 16) podem ser usadas para especificar números inteiros.

Aqui estão as constantes inteiras predefinidas do PHP:

  1. PHP_INT_MAX – Suporta o maior número inteiro.
  2. PHP_INT_MIN – Suporta o menor número inteiro.
  3. PHP_INT_SIZE – O tamanho em byte de um inteiro.

No PHP, você pode verificar o tipo de uma variável usando estas funções:

  1. is_int()
  2. is_integer() – alias de is_int()
  3. is_long() – alias de is_int()

Abaixo está um exemplo que demonstra o uso da função is_int() :

Example: 

1
2
3
4
5
6
7
8
9
10
11
<?php
$a = 29;
var_dump(is_int($a));
$a = 12.58;
var_dump(is_int($a));
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

O exemplo a seguir verifica se uma determinada variável é um número inteiro usando a função is_int() na instrução if_else:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$a = 12;
$b = '19';
//Checking $a as integer
if(is_int($a)){ // This print the if statement because the $a is an integer
echo "This is an integer <br>";
}else{
echo "This is not an integer <br>";
}
//Checking $b as integer
if(is_int($b)){ // This prints an else statement because the value of $b is string.
echo "This is an integer <br>";
}else{
echo "This is not an integer <br>";
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Números PHP


PHP Flutua

O termo float refere-se a um número PHP com um ponto decimal no final ou uma função exponencial.

2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 são todos números de ponto flutuante.

Pode haver uma precisão máxima de 14 dígitos com o tipo de dados float.

Este tipo de dados pode armazenar um valor de até 1,7976931348623E+308 (dependente da plataforma).

Existem várias constantes predefinidas no PHP que são usadas para valores flutuantes (a partir do PHP 7.2):

  • PHP_FLOAT_MAX – Um número de ponto flutuante que representa o maior valor possível.
  • PHP_FLOAT_MIN – Um número PHP de ponto flutuante que representa o menor valor possível.
  • – PHP_FLOAT_MAX – Um número de ponto flutuante que representa o menor valor negativo.
  • PHP_FLOAT_DIG – Número de dígitos decimais que podem ser arredondados para floats sem perda de precisão.
  • PHP_FLOAT_EPSILON – O menor número positivo a, de modo que a + 1,0 != 1,0.

No PHP Numbers, você pode verificar se as variáveis ​​são flutuantes usando as seguintes funções:

  • is_float()
  • is_double() – alias de is_float()

Abaixo está um exemplo que demonstra o uso da função is_float() :

Example: 

1
2
3
4
5
6
7
8
9
<?php
$a = 29.921;
var_dump(is_float($a));
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

No exemplo abaixo, estamos verificando se o número do PHP é float ou integer :

Example: 

1
2
3
4
5
6
7
8
9
10
11
<?php
$a = 15;
$b = 41.34;
var_dump(is_float($a)); //This prints the integer value
var_dump(is_float($b)); //This prints the float value
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 


PHP Infinito

Quando um valor numérico excede PHP_FLOAT_MAX, ele é considerado infinito.

Aqui estão as funções do PHP para verificar se um número é finito ou infinito:

  • is_finite()
  • é_infinito()

Tipo de dados e valor são retornados pela função PHP var_dump()

Abaixo está um exemplo que verifica se um número PHP é finito ou infinito :

Example: 

1
2
3
4
5
6
7
8
9
<?php
$a = 1.9e478;
var_dump($a); // This returns an infinite value
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

O exemplo a seguir mostra valores finitos e infinitos:

Example: 

1
2
3
4
5
6
7
8
9
10
11
<?php
$a = 1.7e485;
$b = 1.25;
var_dump($a); //This returns an infinite value
var_dump($b); //This returns an finite value
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 


PHP NaN

Um NaN não é um número.

Para operações matemáticas que são impossíveis, NaN é usado.

Se você deseja verificar se um valor não é um número PHP, pode usar a seguinte função:

  • is_nan()

Tipo de dados e valor são retornados pela função PHP var_dump()

Abaixo está um exemplo de uso da função acos() (Arc cos), Se o cálculo for inválido, um valor NaN será retornado:

Example: 

1
2
3
4
5
6
7
8
9
<?php
$a = acos(78);
var_dump($a);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Abaixo está um exemplo de uso da função asin() (Arc seno), Se o cálculo for inválido, um valor NaN será retornado:

Example: 

1
2
3
4
5
6
7
8
9
<?php
$a = asin(78);
var_dump($a);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

PHP Strings Numéricas

Se estivermos falando sobre números PHP, podemos usar a função PHP is_numeric() para determinar se uma variável é um valor numérico ou não.

Se a variável for um número ou uma string numérica, a função retornará true, caso contrário, retornará false.

Segue abaixo um exemplo que verifica cada $a, se for numérico:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$a = 4878;
var_dump(is_numeric($a));
$a = "4878";
var_dump(is_numeric($a));
$a = "48.78" + 50;
var_dump(is_numeric($a));
$a = "car";
var_dump(is_numeric($a));
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Segue abaixo um exemplo que verifica cada $b , se for numérico:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$b = "3578";
var_dump(is_numeric($b));
$b = 3578;
var_dump(is_numeric($b));
$b = "bike";
var_dump(is_numeric($b));
$b = "35.78" + 110;
var_dump(is_numeric($b));
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Lembre-se: A partir do PHP 7.0, a função is_numeric() retornará FALSE para strings numéricas em formato hexadecimal, por exemplo, 0xf4c3b00c, pois strings hexadecimais não são mais consideradas strings numéricas.


Converter Strings e Floats para Inteiros

Às vezes, um valor numérico pode ser convertido em outro tipo de dados.

Um valor pode ser convertido em um número inteiro usando (int) , (integer) ou intval() .

No exemplo abaixo, floats e strings são convertidos em inteiros usando o seguinte método:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// Cast float to int
$a = 3455.768;
$cast_to_int = (int)$a;
echo $cast_to_int;
echo "";
// Cast string to int
$a = "3455.768";
$cast_to_int = (int)$a;
echo $cast_to_int;
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Abaixo está um outro exemplo, que floats e strings são convertidos em inteiros usando o seguinte método:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// Cast string to int
$b = "4774.6465";
$str_to_int = (int)$b;
echo $str_to_int;
// Cast float to int
$b = 4774.6465;
$float_to_int = (int)$b;
echo $float_to_int;
echo "";
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação:

No exemplo acima, realizamos typecasting de um float e uma string para um inteiro usando o operador (int).

  1. Definimos uma variável $b e atribuímos a ela um valor de 3874,6465, que é um número PHP de ponto flutuante.
  2. Em seguida, executamos typecasting usando o operador ( int ), que converte o valor float em um inteiro. O valor resultante é armazenado em uma variável chamada $cast_to_int .
  3. Em seguida, usamos a instrução echo para exibir o valor de $cast_to_int na tela. Como o valor original era float , o valor resultante será truncado para um número inteiro, que é 3874.
  4. Em seguida, reatribuímos a variável $b a uma string com o mesmo valor, “3874.6465”.
  5. Novamente, realizamos typecasting usando ( int ), desta vez no valor de string de $b . O valor resultante é armazenado em $cast_to_int .
  6. Por fim, usamos a instrução echo para exibir o valor de $cast_to_int na tela. Como o valor original era uma string, o typecasting tentará converter a string em um número inteiro e removerá todos os caracteres não numéricos. Nesse caso, o valor resultante é 3874, que é a parte inteira da string original.

 

O exemplo acima demonstra como executar typecasting de um float e uma string para um inteiro em PHP usando o operador (int) e mostra como o valor resultante é afetado pelo tipo de dados original .

 

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone