Skip to content

DataMutator API

Complete API reference for DataMutator.

Create a new DataMutator instance.

$mutator = new DataMutator($data);

Create a new instance (fluent).

$mutator = DataMutator::make($data);

Set value at path.

$mutator->set('user.name', 'John Doe');

Set multiple values.

$mutator->setMultiple([
'user.name' => 'John',
'user.email' => 'john@example.com',
]);

Remove value at path.

$mutator->unset('user.password');

Remove multiple paths.

$mutator->unsetMultiple(['user.password', 'user.token']);

Merge array at path.

$mutator->merge('user.settings', ['theme' => 'dark']);

mergeRecursive(string $path, array $value): self

Section titled “mergeRecursive(string $path, array $value): self”

Recursively merge array.

$mutator->mergeRecursive('config', $newConfig);

Push value to array.

$mutator->push('user.tags', 'admin');

pull(string $path, mixed $default = null): mixed

Section titled “pull(string $path, mixed $default = null): mixed”

Remove and return value.

$value = $mutator->pull('user.temp_data');

transform(string $path, callable $callback): self

Section titled “transform(string $path, callable $callback): self”

Transform value at path.

$mutator->transform('user.name', fn($v) => strtoupper($v));

Get modified array.

$data = $mutator->toArray();

Get reference to array.

$ref = &$mutator->getReference();