将数组对象转换为字符串并分隔值

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)

可能会帮助某人。我在我的情况下使用它。谢谢!

【讨论】:

以上是关于将数组对象转换为字符串并分隔值的主要内容,如果未能解决你的问题,请参考以下文章

ES5数组的方法

如何将逗号分隔的字符串转换为数组? [复制]

JSON对象与字符串相互转化ObjectMapper

熊猫数据框如何将对象转换为数组并提取数组值

Java面试题17 如何把一个逗号分隔的字符串转换为数组? 关于String类中split方法的使用,超级详细!!!

转换,约束,魔术常量