Cómo convertir una cadena a booleano en PHP
¡Hola a todos! Acabo de empezar a aprender PHP y me encontré con un problema. Tengo una variable que viene de un formulario o de una base de datos como una cadena. Por ejemplo, puede ser "true", "false", "1", "0", "yes", "no". Necesito convertir esta cadena a un tipo booleano real (bool) para usarlo en condiciones.
Intenté simplemente asignar el valor: `$flag = "true";` — pero esto es una cadena, no un booleano. Luego probé convertir con `(bool) $string` — pero esto da `true` para cualquier cadena no vacía, incluso para "false". Es decir, `(bool) "false"` devuelve `true`, que no es lo que necesito.
Aquí hay un ejemplo de código que no funciona como se espera:
```php
$stringValue = "false";
$boolValue = (bool) $stringValue; // Resultado: true, pero debería ser false
var_dump($boolValue); // bool(true)
```
Necesito que:
- La cadena "true", "1", "yes", "on" se convierta en `true`
- La cadena "false", "0", "no", "off", cadena vacía se convierta en `false`
- No importa el caso de las letras (True, FALSE, Yes, etc.)