ObjectArrayHelper
优质
小牛编辑
135浏览
2023-12-01
类名: Imi\Util\ObjectArrayHelper
对象及数组帮助类
智能识别数组和对象,支持对a.b.c这样的name属性进行操作
方法
以下所有示例,前提代码为:
$data = [
'a' => [
'b' => [
'c' => '111',
],
],
];
// 也可以是任意对象及数组的混合用法,如:
$data = new \stdClass;
$data->a = [];
$data->a['b'] = new \stdClass;
$data->a['b']->c = '111';
get
获取值
// 111
echo ObjectArrayHelper::get($data, 'a.b.c');
// 222
echo ObjectArrayHelper::get($data, 'a.b.c.d', '222');
set
设置值
ObjectArrayHelper::set($data, 'a.b.c2', '333');
remove
移除值
ObjectArrayHelper::remove($data, 'a.b.c2');
exists
值是否存在
var_dump(ObjectArrayHelper::exists($data, 'a.b.c2'));
filter
过滤属性
$data = [
'id' => 1,
'name' => 'imi',
];
// $data = new stdClass;
// $data->id = 1;
// $data->name = 'imi';
// 以上两个都支持
// 只保留 name 字段
var_dump(ObjectArrayHelper::filter($data, ['name']));
// 剔除 name 字段
var_dump(ObjectArrayHelper::filter($data, ['name'], 'deny'));