tomhart/

array-from-object

v1.0.2 2019-12-10 17:54 UTC

This package is auto-updated.

Last update: 2024-09-11 04:53:22 UTC


README

Build Status codecov Scrutinizer Code Quality GitHub release (latest by date) GitHub

此库允许您从对象中填充数组,提取属性和嵌套属性。

用法

简单示例

$params = ['name', 'id'];

$class = new \stdClass();
$class->name = 'name';
$class->id = 1;

$data = ArrayUtil::populateArrayFromObject($params, $class); 
// ['name' => 'name', 'id' => 1]

嵌套示例

$params = ['name', 'id', 'extra->name'];

$class = new \stdClass();
$class->name = 'name';
$class->id = 1;

$class2 = new \stdClass();
$class2->name = 'name-2';
$class->extra = $class2;

$data = ArrayUtil::populateArrayFromObject($params, $class); 
// ['name' => 'name', 'id' => 1, 'extra->name' => 'name-2']

提供缺失数据示例

$params = ['name', 'id', 'extra'];

$class = new \stdClass();
$class->name = 'name';
$class->id = 1;

$data = ArrayUtil::populateArrayFromObject($params, $class, [
    'extra' => 'static'
]); 
// ['name' => 'name', 'id' => 1, 'extra' => 'static']