techins / parse-bool
将字符串值转换为布尔值
1.0.0
2024-09-23 12:41 UTC
This package is auto-updated.
Last update: 2024-09-23 13:09:11 UTC
README
ParseBool 是一个 PHP 类,旨在简化从各种输入类型解析和验证布尔值的过程。它简化了将可以表示为真或假的值进行解释的过程,使你的代码更简洁、更可靠。
目的
ParseBool 类的主要目的是将不同的数据类型(如字符串、数字和布尔值)转换为一致的布尔输出(true 或 false)。这在处理用户输入或外部数据源时特别有用,在这些情况下,布尔值的表示可能会有所不同。
安装
您可以通过将 ParseBool.php 文件复制到您的目标目录来将 ParseBool 类包含到您的项目中。
用法
解析和将值转换为布尔值
要使用 ParseBool 类,只需使用您要解析的值作为参数调用 parseBool 方法。
示例
use Techins\ParseBool\ParseBool; $value1 = ParseBool::parseBool('yes'); // Returns true $value2 = ParseBool::parseBool(0); // Returns false $value3 = ParseBool::parseBool(true); // Returns true $value4 = ParseBool::parseBool('off'); // Returns false $value4 = ParseBool::parseBool('dfsafsdfsdfds'); // Returns false $value4 = ParseBool::parseBool('dfsafsdfsdfds',true); // Throws exception look bellow
严格检查
如果在严格检查中提供的值不能被解释为布尔值,将抛出 ValueNotBooleanOneException。您应该将您的调用包装在 try-catch 块中,以优雅地处理此异常。
try { // Checklbox Value $input = $_POST['checkbox_val']; $result = ParseBool::parseBool($input,true); } catch (ValueNotBooleanOneException $e) { // Handle the exception }
输入验证
您还可以验证布尔值(例如,如果值是已选中的复选框)
$value1 = ParseBool::validateBooleableValue('yes'); // Returns true
$value2 = ParseBool::validateBooleableValue(0); // Returns true
$value3 = ParseBool::validateBooleableValue(true); // Returns true
$value4 = ParseBool::validateBooleableValue('off'); // Returns true
$value3 = ParseBool::validateBooleableValue(false); // Returns true
$value3 = ParseBool::validateBooleableValue('true'); // Returns true
$value5 = ParseBool::validateBooleableValue('ddsasadsa'); // Returns false
$value6 = ParseBool::validateBooleableValue(-1); // Returns false
$value6 = ParseBool::validateBooleableValue(""); // Returns false
有效的布尔值
以下值被认为是有效的,并将转换为 true
1true'on''yes''true'
以下值被认为是有效的,并将转换为 false
0false'off''no''false'f
任何其他值都将导致抛出 ValueNotBooleanOneException。
复选框上的用法
假设我们有这个表单
<form method = "POST" action="/myscript.php">
<input type="checkbox" name="check">
</form>
您可以使用 validateBooleableValue 验证复选框是否被选中。
$checked = ParseBool::parseBool($_POST['check']??false);
许可证
此项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。
贡献
欢迎贡献!请提交拉取请求或创建一个问题来报告任何增强功能或错误修复。