如何在 PHP 中将字符串转换为 boolean 类型?
大家好!我刚学 PHP 时遇到了一个问题。我有一个变量,它来自表单或数据库,以字符串形式出现。例如,可能是 "true"、"false"、"1"、"0"、"yes"、"no"。我需要将这个字符串转换为真正的 boolean 类型,以便在条件中使用。
我试过直接赋值:`$flag = "true";`——但这是字符串,不是 boolean。然后我尝试通过 `(bool) $string` 进行强制转换——但这对于任何非空字符串都会返回 `true`,即使对于 "false" 也是如此。也就是说 `(bool) "false"` 返回 `true`,这完全不是我所需要的。
以下是一个不符合预期的代码示例:
```php
$stringValue = "false";
$boolValue = (bool) $stringValue; // 结果:true,但应该是 false
var_dump($boolValue); // bool(true)
```
我需要:
- 字符串 "true"、"1"、"yes"、"on" 转换为 `true`
- 字符串 "false"、"0"、"no"、"off"、空字符串转换为 `false`
- 字母大小写不敏感(True、FALSE、Yes 等)