imj / filter
一个提供过滤变量工具的库
v1.0.3
2016-06-23 06:07 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: ~4.3.0
This package is not auto-updated.
Last update: 2024-09-26 01:07:43 UTC
README
安装
composer require imj/filter
基本用法
过滤字符串
use Imj\Filter $str = ' str'; echo Filter::string($str); // str $str = 'abcdefg'; echo Filter::string($str, ['length'=>2]); // ab $str = 'abc'; echo Filter::string($str, ['regex'=>"/\d+/"]); // null
过滤 int/uint/float/ufloat
use Imj\Filter $int = '10'; echo Filter::int($int, ['max'=>11, 'min'=>8]); // 10 $int = '10'; echo Filter::int($int, ['max'=>8]); // 8 $int = '10'; echo Filter::int($int, ['min'=>11]); // 11 $int = '10'; echo Filter::int($int, ['min'=>11, 'default'=>100]); // 100 $int = -1; echo Filter::uint($int, ['default'=>100]); // uint/float/ufloat method is the same
通过枚举过滤
use Imj\Filter $v = 'foo'; echo Filter::enum($v, ['enum'=>['foo', 'bar']]); // foo $v = 'baz'; echo Filter::enum($v, ['enum'=>['foo', 'bar']]); // foo $v = 'baz'; echo Filter::enum($v, ['enum'=>['foo', 'bar'], 'default'=>'fbb']); //fbb
通过枚举键过滤
use Imj\Filter $enum = [ 'a' => 'foo', 'b' => 'bar', 'c' => 'baz' ]; $v = 'a'; echo Filter::enumByKey($v, ['enum'=>$enum]); // foo $v = 'd'; echo Filter::enumByKey($v, ['enum'=>$enum]); // foo $v = 'd'; echo Filter::enumByKey($v, ['enum'=>$enum, 'default_key'=>'b']); // bar $v = 'd'; echo Filter::enumByKey($v, ['enum'=>$enum, 'default'=>'baz']); // baz $v = 'd'; echo Filter::enumByKey($v, ['enum'=>$enum, 'default_key'=>'b', 'enum_key' => true]); // b
过滤 JSON
use Imj\Filter $arr = ['foo'=>1]; $v = json_encode($arr); var_dump(Filter::json($v, ['json_assoc'=>true])); // ['foo'=>1] $arr = ['foo'=>'1', 'bar'=>'2']; $v = json_encode($arr); var_dump(Filter::json($v, ['json_assoc'=>true, 'json_schema'=>['foo' => [Filter::UINT_TYPE]]])); // ['foo'=>1, 'bar'=>'2']
此外,您还可以使用 validate
方法,效果相同。
use Imj\Filter $str = 'abcdefg'; echo Filter::validate($str, Filter::STRING_TYPE, ['length'=>2]); // ab // ...
第二个参数表示变量类型,可以是
Filter::STRING_TYPE Filter::INT_TYPE Filter::UINT_TYPE Filter::FLOAT_TYPE Filter::UFLOAT_TYPE Filter::ENUM_TYPE Filter::ENUM_KEYS_TYPE Filter::JSON_TYPE Filter::NONE_TYPE
许可证
MIT 许可证下授权 - 详细信息请参阅 LICENSE
文件