angle / 伪
伪帮助您使用PHP管理半真半假的情况
v1.0.5
2019-03-11 14:32 UTC
Requires
- php: ^7.0
Requires (Dev)
- phpunit/phpunit: ^7.5
- symfony/var-dumper: ^4.2
README
- 小型库(总行数小于200行,向全局命名空间添加2个函数)
- 无依赖
- 完全测试
- 需要PHP版本 ^7.0
函数
falsy(...$vars) : bool
当变量为伪时返回false。
truthy(...$vars) : bool
只有当所有变量都为真时返回true(伪的反义词)。
示例
如果任何内容为伪,函数返回true。
falsy(true, false, null); // true truthy(true, false, null); // false
如果所有变量都为真,函数返回false。
falsy(true, 1, [1]); // false truthy(true, 1, [1]); // true
空字符串和空数组为伪。
falsy('0', '', [], ['']); // true truthy('0', '', [], ['']); // false // Note: (bool) [''] returns true in plain PHP. Falsy interprets it as false, as it should.
数组将被递归审计。
$array = [ 'foo' => false, 'bar'=> [ 'baz' => false ] ]; falsy($array); // true truthy($array); // false $array = [ 'foo' => true, 'bar'=> [ 'baz' => 1 ] ]; falsy($array); // false truthy($array); // true
对象将根据其属性进行审计。
$object = new stdClass; falsy($object); // true truthy($object); // false $object->foo = false; $object->bar = null; $object->baz = 0; falsy($object); // true truthy($object); // false $object->foo = true; $object->bar = 'string'; $object->baz = 1; falsy($object); // false truthy($object); // true
闭包将根据其返回值进行审计。
$void = function () { return; }; falsy($void); // true truthy($void); // false $false = function () { return false; }; falsy($false); // true truthy($false); // false $string = function () { return 'string'; }; falsy($string); // false truthy($string); // true falsy($void, $false, $string); // true truthy($void, $false, $string); // false
最后,您可以传递所需的所有语句。
falsy( false, null, 0, 0.0, '0', [], [''], // Php would consider this as being true, but really, is it? No. ['' => ''], [false, null], ['' => '', 0 => ['key' => null, 'foo' => [''], 'empty' => []]], // Array keys are ignored new stdClass, // Objects with empty attributes are falsy function () { return; }, // Void closures are falsy function () { return false; }, function () { return null; }, function () { return ''; }, function () { return 0; }, function () { return []; }, function () { return ['']; } ); // true $object = new stdClass; $object->foo = 'bar'; truthy( true, 1, 0.1, '1', ['foo'], ['foo' => 'bar'], [true], $object, function () { return true; }, function () { return 1; }, function () { return 0.1; }, function () { return '1'; }, function () { return ['foo']; }, function () { return ['foo' => 'bar']; }, function () { return [true]; }, function () use ($object) { return $object; } ); // true
测试
通过执行以下命令运行测试套件
composer install ./vendor/bin/phpunit
贡献
欢迎贡献!请随时提交pull请求。
许可证
MIT许可证
版权所有 © 2019 Angle Software