【问题标题】: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
  • 我想获取所有值,而不仅仅是数组索引中的第一个值

标签: php arrays codeigniter object multidimensional-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)

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

    【讨论】:

      猜你喜欢
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      • 2016-03-09
      • 2022-11-10
      • 2012-11-08
      相关资源
      最近更新 更多