array = [];
foreach ($babysitters as $babysitter) {
$babysitterData = new \stdClass;
$babysitterData->babysitter_id = $babysitter->id;
$babysitterData->babysitter_name = $babysitter->name;
$babysitterData->babysitter_photo = $babysitter->photo;
array[] = $babysitterData;
}
/**
* Переделать массив объектов, добавив префикс названию каждого из свойств
* @param array<object> $srcArray исходный массив объектов
* @param string $prefix строка, которую добавить перед названием каждого из свойств
*/
$remap = fn (array $srcArray, string $prefix) => array_map(
function ($obj) use ($prefix) {
$keyValues = get_object_vars($obj);
$keys = array_keys($keyValues);
$values = array_values($keyValues);
return (object) array_combine(
array_map(fn ($key) => $prefix . $key, $keys),
$values
);
},
$srcArray
);
// Test
$babySitters = [
(object) ['a'=>'A1', 'b'=>'B-1'],
(object) ['a'=>'A2', 'b'=>'B-2'],
(object) ['a'=>'A3', 'b'=>'B-3'],
(object) ['a'=>'A4', 'b'=>'B-4', 'c'=>'C4'],
];
$result = $remap($babySitters, 'babysitter_');
echo json_encode($result);
[
{
"babysitter_a": "A1",
"babysitter_b": "B-1"
},
{
"babysitter_a": "A2",
"babysitter_b": "B-2"
},
{
"babysitter_a": "A3",
"babysitter_b": "B-3"
},
{
"babysitter_a": "A4",
"babysitter_b": "B-4",
"babysitter_c": "C4"
}
]
$array = [];
$requiredKeys = ['id', 'name', 'photo'];
foreach ($babysitters as $babysitter) {
$babysitterData = new \stdClass;
foreach ($requiredKeys as => $key) {
$babysitterData->${'babysitter_' . $key} = $babysitter->$key;
}
$array[] = $babysitterData;
}