replace_properties
TABLE OF CONTENTS
Merge objects, preserve null
Definition
object replace_properties(object $object, object $properties, boolean $insertOnMissing)
Merges $object and $properties. Similar to merge, but with following differences:
- can only merge two objects,
- replaces array properties instead of concatenating them,
- is able to replace values with
null, - replaces the values of type object immediately rather than calling performing
replace_propertieson them again.
Parameters
object $object
First object to merge.
object $properties
Second object to merge.
boolean $insertOnMissing
If true, adds properties from $properties that are not present in $object. If not, only replaces the ones that are already present in $object, and doesn't add any new ones.
Returns
object
Object obtained by merging $properties into $object. All the properties, even the properties with null, object and array values will be overwritten in $object, in contrast to merge.
Examples
{
"John1": {
"middleName": "Jim",
"lastName": "Smith",
"age": 42,
"address": {
"street": "Main Street",
"houseNumber": 1,
"cohabitants": ["Jane", "Julia"]
},
"siblings": ["Jade", "Jack"]
},
"John2": {
"middleName": null,
"lastName": "Doe",
"address": {
"street": "High Street",
"apartmentNumber": 2,
"cohabitants": ["Jane", "James"]
},
"siblings": ["Jerry"]
}
}{
john: replace_properties(John1, John2, `true`)
}{
"john": {
"middleName": null,
"lastName": "Doe",
"age": 42,
"address": {
"street": "High Street",
"apartmentNumber": 2,
"cohabitants": ["Jane", "James"]
},
"siblings": ["Jerry"]
}
}Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article