jrfnl / php-cast-to-type
PHP类,用于将变量一致地转换为特定类型。
2.1.0
2022-11-13 12:22 UTC
Requires
- php: >=5.0
- ext-ctype: *
Requires (Dev)
README
PHP-cast-to-type
PHP类,用于将变量一致地转换为特定类型。
返回指定类型的值或 null
。
特性
- 跨PHP版本的一致结果。
- 兼容PHP4、PHP5和PHP7,如果你正在为不知道库用户PHP版本的开源软件编码,并且
filter_var()
函数可能不可用,则特别有用。 - 可选地递归地将数组中的所有值转换为选择的类型(类似于
filter_var_array()
的行为)。 - 可选地允许/禁止空字符串/数组。
- 将以下字符串值成功转换为它们的布尔对应值(类似于
filter_var()
的行为,但不太区分大小写)。- True:
'1', 'true', 'True', 'TRUE', 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON'
。 - False:
'0', 'false', 'False', 'FALSE', 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'
。
- True:
- 支持
SplType
对象的转换。
一些用法示例
$value = 'example'; $value = CastToType::_bool( $value ); // null $value = 'true'; $value = CastToType::_bool( $value ); // true $value = '123'; $value = CastToType::_int( $value ); // 123 $value = array( '123' ); $value = CastToType::_int( $value ); // null $value = CastToType::_int( $value, $array2null = false ); // array( 123 )
可用方法
所有方法都是静态的。
-
CastToType::cast( $value, $type, $array2null = true, $allow_empty = true, $implode_array = false );
-
CastToType::_bool( $value, $array2null = true, $allow_empty = true );
-
CastToType::_int( $value, $array2null = true, $allow_empty = true );
-
CastToType::_float( $value, $array2null = true, $allow_empty = true );
-
CastToType::_string( $value, $array2null = true, $allow_empty = true );
-
CastToType::_array( $value, $allow_empty = true );
-
CastToType::_object( $value, $allow_empty = true );
-
CastToType::_null( $value );
参数
安装
要求
此包需要PHP本地 ctype
扩展。
独立使用
- 前往 发布 页面,并下载最新的发布zip文件。
- 提取文件并将它们放置在项目层次结构中的某个位置。
- 使用
require_once '/path/to/cast-to-type.php';
调用类加载器。
Composer
如果你正在使用PHP5+(你应该这样做),PHP-Cast-to_Type 也可通过Composer安装,地址为 包。
composer require jrfnl/PHP-cast-to-type
变更日志
2.1.0 (2022年11月)
- 允许在
CastToType::cast()
方法中将double
作为float
的别名。感谢 @nsrosenqvist 的贡献。 - 错误修复:在转换为布尔值时,字符串
ON
没有被识别为真值。 - 已明确要求
ctype
扩展。 - 主分支已从
master
重命名为main
。 - 一般维护。
2.0.1 (2018年1月)
- 修复了PHP跨版本兼容性问题。这影响了在PHP < 5.2.7上使用此类。
- 一般维护。
2.0 (2015年6月)
- 更新了对象转换,使其与PHP7中的实现方式保持一致,以实现跨版本兼容。以前,具有数字键的数组转换为对象时,会作为名为
array
的属性添加到对象中,其值为完整的数组。现在,与PHP7一样,每个数字数组键都将转换为单个属性。这将打破与v1.0版本在数组到对象转换结果方面的向后兼容性,因此请检查您的代码,如果依赖于旧的行为。 - 修复了对象转换中的一个错误,该错误会在PHP <= 5.1中将非对象转换为对象时返回
null
。 - 修复了对象转换中的一个错误,其中空字符串在设置
$allow_empty
为false
时不会返回null
。
1.0(2006年/2013年9月)
- 首次发布。