Grazie per il link gianiaz!
Quindi non passando il terzo parametro opzionale se l'espressione_regolare si verifica o la stringa è 0 restituisce [int(1)] altrimenti restituisce [int(0)].
Quello che non ho chiaro è perchè 1 == TRUE ---> TRUE mentre 1 === TRUE ---> FALSE quando TRUE = 1 e FALSE = 0; Quindi non è la stessa cosa identificare un boolean con 1 - 0 o con TRUE - ON - YES - FALSE - OFF - NO? O meglio hanno lo stesso valore ma sono di tipi diversi?
Tra quelli che ho provato qual'è il modo migliore per realizzare la funzione che ho postato sopra? Io ritengo che quando si utilizzano boolean è meglio usare [===] ma chiedo a voi consiglio.