我有阵心
[{"id":"331","file_name":"3b1379e2496408dd4c865f5f63f96bf6","file_path":"https://path/3b1379e2496408dd4c865f5f63f96bf6.png"},
{"id":"332","file_name":"d0ef559473a061086592bceed0880a01","file_path":"https://path/d0ef559473a061086592bceed0880a01.png"}]
我需要输出这个数组,使它最后看起来像这样
[{url:"https://path/3b1379e2496408dd4c865f5f63f96bf6.png"},
{url:"https://path/d0ef559473a061086592bceed0880a01.png"}]
要从数组中只输出一个字段,我使用
array_column($array, 'file_path')
最后我得到了
["https://path/3b1379e2496408dd4c865f5f63f96bf6.png",
"https://path/d0ef559473a061086592bceed0880a01.png"]
但是现在如何使这些字段成为对象并在它们前面添加一个url呢?
2条答案
按热度按时间nom7f22z1#
可以使用Map操作:
https://3v4l.org/vbguH
对于7.3及更低版本(无箭头功能支持):
注意,除非您需要PHP(
$foo->url
)中的对象语法或特性,否则可以省略(object)
转换;它仍然使用对象语法进行JSON编码,除非您告诉它不要这样做。jrcvhitl2#
下面是一个非常基本的版本--简单地遍历数组,然后创建一个新的数组,每个条目中只包含您想要的属性:
演示:https://3v4l.org/JcKZE
或者,对于简单的一行程序,可以使用
array_map
函数:在上面的代码中,将
$output = [];
和foreach
循环替换为:演示:https://3v4l.org/a10kB