Differenza tra gli operatori di confronto == e === in PHP

Subodh Poudel 30 gennaio 2023
  1. Confronta un valore intero e un valore in virgola mobile con l’operatore di confronto Double (==) e Triple (===) Equals in PHP
  2. Confronta un valore intero e un valore booleano con l’operatore di confronto Double (==) e Triple (===) Equals in PHP
  3. Confronta un valore intero e un valore stringa con l’operatore di confronto Double e Triple Equals
Differenza tra gli operatori di confronto == e === in PHP

Questo articolo introdurrà la differenza tra gli operatori di confronto double equals == e triple equals === in PHP. La differenza significativa è che l’operatore di confronto double equals confronta il valore dei due operandi. Al contrario, l’operatore di confronto triple equals confronta il valore e il tipo degli operandi.

Introdurremo un metodo per differenziare l’operatore di confronto doppio uguale e triplo uguale confrontando un numero intero e un valore a virgola mobile. Useremo l’operatore ternario come istruzione condizionale.

Il secondo metodo confronta l’operatore di confronto double equals e triple equals con un numero intero e un valore booleano. Useremo anche l’operatore ternario in questo metodo.

Dimostreremo anche il confronto tra un valore intero e una stringa utilizzando l’operatore di confronto double equals e triplo equals. Useremo la funzione var_dump() per scaricare il confronto in questo metodo.

Confronta un valore intero e un valore in virgola mobile con l’operatore di confronto Double (==) e Triple (===) Equals in PHP

Possiamo confrontare i due stessi valori di tipi diversi utilizzando gli operatori di confronto. Questo metodo confronta un numero intero e una virgola mobile che hanno lo stesso valore. Possiamo usare l’operatore ternario per confrontare gli operandi e la funzione var_dump() per scaricare i loro valori booleani.

Ad esempio, crea una variabile $a e memorizza il valore intero 5 in essa. Memorizza un valore a virgola mobile 5.0 in un’altra variabile $b. Confronta le due variabili con l’operatore di confronto triplo utilizzando l’operatore ternario. Il valore vero restituisce true e il valore falso restituisce false nell’operatore ternario. Memorizzare l’operazione nella variabile $c. Analogamente, confrontare le due variabili con operatore double equals con l’operatore ternario e memorizzare l’operazione nella variabile $d. Usa le funzioni var_dump() in entrambe le variabili $c e $d.

L’output dell’esempio di codice restituisce il valore false per l’operatore triplo uguale e il valore true per l’operatore doppio uguale. Il valore 5 è di tipo intero e il valore 5.0 è di tipo float, sebbene il valore sia lo stesso. Pertanto, l’operatore triplo uguale restituisce un valore falso e l’operatore doppio restituisce un valore veritiero.

Codice di esempio:

#php 7.x 
<?php
$a = 5; 
$b = 5.0; 
$c = $a===$b ? true : false;
$d = $a==$b ? true : false;
var_dump($c);
var_dump($d);
?>

Produzione:

bool(false) bool(true)

Confronta un valore intero e un valore booleano con l’operatore di confronto Double (==) e Triple (===) Equals in PHP

Questo metodo confronta un valore intero 1 e il valore booleano true. Il valore intero 1 denota il valore di verità. Possiamo usare l’operatore ternario come nel primo metodo. Ad esempio, memorizzare il valore intero 1 in una variabile $a. Crea un’altra variabile $b e memorizza in essa un valore booleano true. Utilizzare l’operatore ternario per confrontare queste due variabili come nel primo metodo. Confronta le variabili con l’operatore di confronto doppio uguale e triplo uguale. Memorizza i risultati nelle variabili $c e $d e usa le funzioni var_dump() per scaricare queste variabili.

La variabile $c restituisce il valore falso e il valore $d restituisce il valore vero. Poiché l’operatore triplo uguale confronta il tipo degli operandi, è ovvio che il tipo di 1 e true non corrisponde. Ma il valore 1 è il valore di verità, quindi il suo valore è lo stesso del valore booleano true.

Codice di esempio:

#php 7.x 
<?php
$a = 1; 
$b = true; 
$c = $a===$b ? true : false;
$d = $a==$b ? true : false;
var_dump($c);
var_dump($d);
?>

Produzione:

bool(false) bool(true)

Confronta un valore intero e un valore stringa con l’operatore di confronto Double e Triple Equals

Possiamo confrontare gli operandi direttamente nella funzione var_dump() per vedere il risultato del confronto. Questo metodo è il metodo abbreviato dei metodi che utilizzano gli operatori ternari. L’illustrazione seguente confronta un valore intero e un valore stringa utilizzando l’operatore di confronto triple equals e double equals.

Ad esempio, crea una variabile $a e memorizza il valore intero 5 in essa. Memorizza un valore di stringa '5' in un’altra variabile $b. Confronta queste due variabili prima usando l’operatore di confronto triplo uguale e poi usando l’operatore doppio uguale. Avvolgere questi confronti all’interno delle funzioni var_dump().

Il primo confronto restituisce un valore falso. Il secondo confronto restituisce il valore di verità. Il tipo delle due variabili non corrisponde, quindi risulta in un valore falso. Il valore della stringa 5 viene convertito in un valore intero e il valore per entrambe le variabili sarà lo stesso. Tuttavia, il tipo delle variabili non cambia.

Codice di esempio:

#php 7.x 
<?php
$a = 5; 
$b = '5';
var_dump($a===$b);
var_dump($a==$b);
?>

Produzione:

bool(false) bool(true)
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn