tomhart/array-from-object

Array From Object

Maintainers

Package info

github.com/TomHart/array-from-object

Homepage

pkg:composer/tomhart/array-from-object

Statistics

Installs: 67

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 1

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

This package is auto-updated.

Last update: 2026-03-28 00:35:53 UTC


README

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

This library allows you to populate an array, pulling properties and nested properties from an object.

Usage

Simple example:

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

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

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

Nested example:

$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']

Providing missing data example:

$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']