michael-rubel / nullify
将任何类型的空数据转换为 null。
1.0.3
2024-03-18 17:34 UTC
Requires
- php: ^8.0
Requires (Dev)
- illuminate/support: *
- infection/infection: ^0.26
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.5|^10.5
- roave/backward-compatibility-check: ^7.0|^8.0
- symfony/var-dumper: ^5.4|^6.1
README
Nullify
一个将任何类型的空数据转换为 null
的简单 PHP 类
使用此类需要 PHP ^8.0
。
安装
composer require michael-rubel/nullify
用法
use MichaelRubel\Nullify\Nullify; Nullify::the($value);
- 注意:该类还会检查嵌套的 迭代器 和 ArrayAccess 对象。
示例
$value = null; Nullify::the($value); // null $value = ''; Nullify::the($value); // null $value = []; Nullify::the($value); // null $value = (object) []; Nullify::the($value); // null $value = new \stdClass; Nullify::the($value); // null
⚡ 检查嵌套元素
$values = new Collection([ 'valid' => true, 'empty_array' => [], 'empty_string' => '', 'collection' => new Collection([ 'invalid' => new \stdClass, ]) ]); Nullify::the($values); // Illuminate\Support\Collection^ {#459 // #items: array:4 [ // "valid" => true // "empty_array" => null // "empty_string" => null // "collection" => Illuminate\Support\Collection^ {#461 // #items: array:1 [ // "invalid" => null // ] // #escapeWhenCastingToString: false // } // ] // #escapeWhenCastingToString: false // }
📚 如果您使用 Laravel Collections,您可以创建一个宏
Collection::macro('nullify', function () { return $this->map(fn ($value) => Nullify::the($value)); }); collect(['', [], (object) [], new \stdClass, '✔']) ->nullify() ->toArray(); // [0 => null, 1 => null, 2 => null, 3 => null, 4 => '✔']
测试
composer test
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。