I have this object:
$myobject = (object) [
'name' => [],
'value' => [],
'id' => [],
];
I want to add some values in a for each loop, but array push does not seem to work.
I've tried this:
$object_name = $myobject->name;
array_push($object_name, "testName");
I've looked everywhere but can't seem to find the answer.
You cann't use array_push this way. $object_name
is not your main object.
When you push to $object_name
, your $myobject
is still empty.
You can fix it adding reference &
, for example:
$object_name = &$myobject->name;
or just push to your original object:
array_push($myobject->name, "testName");
or
$myobject->name[] = "something";
Simple option is to add another item to the property using normal array notation.
e.g.
$object->name[] = 'testName';
Try this:
$names = ['A', 'B', 'C']; /* This is an array of names */
foreach ($names as $name) {
$myobject->name[] = $name;
}
echo '<pre>';
print_r($myobject);