将数组对象转换为字符串并分隔值
Posted
技术标签:
【中文标题】将数组对象转换为字符串并分隔值【英文标题】:Convert array objects to string and separate the values 【发布时间】:2013-05-06 12:00:32 【问题描述】:我有以下结果
Array (
[0] => stdClass Object ( [name] => Identification )
[1] => stdClass Object ( [name] => Assay )
[2] => stdClass Object ( [name] => pH(Acidity/Alkalinity))
[3] => stdClass Object ( [name] => Sterility )
)
我想要的是使用逗号分隔对象数组值并作为字符串返回, 从而得到这样的结果:
Identification, Assay, ph(Acid/Alkalinity), Sterility
我已经尝试了以下
$data=(array)$result;
$answer=implode(",",$data);
这个回报:
Message: Object of class stdClass could not be converted to string
如何才能做到最好?
【问题讨论】:
使用$result[0]->name
有什么问题?您必须使用 foreach
来迭代 objects
内的 array
我想获取所有值,而不仅仅是数组索引中的第一个值
【参考方案1】:
您错过了处理对象数组的事实。
看起来你可以通过这样做来实现:
$output = array_map(function ($object) return $object->name; , $input);
echo implode(', ', $output);
【讨论】:
只是为了好奇的人,您可以保留两个 $objects 的名称。将 $object->name 更改为 $object->name_of_my_field,并将 $input 更改为对象数组的名称。然后它应该像魅力一样发挥作用。【参考方案2】:为了在“标题”属性中使用此功能,我做了:
echo implode('
', $output);
【讨论】:
【参考方案3】:它将对象数组转换为字符串,你可以将它存储在数据库中,使用
serialize(array_of_object)
可能会帮助某人。我在我的情况下使用它。谢谢!
【讨论】:
以上是关于将数组对象转换为字符串并分隔值的主要内容,如果未能解决你的问题,请参考以下文章