为对象PHP中的数组添加值

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);