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 类的主要目的是将不同的数据类型(如字符串、数字和布尔值)转换为一致的布尔输出(truefalse)。这在处理用户输入或外部数据源时特别有用,在这些情况下,布尔值的表示可能会有所不同。

安装

您可以通过将 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

  • 1
  • true
  • 'on'
  • 'yes'
  • 'true'

以下值被认为是有效的,并将转换为 false

  • 0
  • false
  • '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 文件。

贡献

欢迎贡献!请提交拉取请求或创建一个问题来报告任何增强功能或错误修复。