这是我从查询结果中获取的一些对象
{
{
"name": "John",
"notification": "sms"
},
{
"name": "John",
"notification": "email"
},
}
从这些结果中,我想构建一个像这样的数组
{
"name":"John",
"notification":['email', 'sms']
}
任何可以点亮我一天的人?
答案 0 :(得分:1)
假设您的原始对象是一个对象数组,如果您想要一个对象作为结果,则可以执行此操作($data
是您的原始数组):
$result = (object) [ 'name' => $data[0]->name, 'notifications' => [] ];
foreach( $data as $item ) $result->notifications[] = $item->notification;
在php 7上,你也可以这样做:
$result = (object) [ 'name' => $data[0]->name, 'notifications' => array_column( $data, 'notification' ) ];
两个例子都有这个结果:
stdClass Object
(
[name] => John
[notifications] => Array
(
[0] => sms
[1] => email
)
)
或者,使用JSON语法:
{"name":"John","notifications":["sms","email"]}
的 eval.in demo 强>