【问题标题】:How to create an array of objects in php [duplicate]如何在php中创建对象数组[重复]
【发布时间】:2023-04-03 19:25:02
【问题描述】:

我写了以下代码:

$text ="";
$lat = 0;
$long = 0;

foreach ($tweets->{'statuses'} as $value) {
    if($value->{'geo'}!=null){
        $text = $value->{'text'};
        $prop = get_object_vars($value->{'geo'});
        $lat = $prop['coordinates'][0];
        $long = $prop['coordinates'][1];
    }
}

我想创建一个对象数组,这样我就可以使用 json_encode 将其转换为 JSON,我希望得到类似的最终结果:

{{text:"Something",lat:23.231,long:2312321},{text:"SomethingElse",lat:33.231,long:412321}}

所以我想创建一个对象数组,每个对象都有文本、lat 和 long。我怎样才能做到这一点?

【问题讨论】:

  • 这个问题似乎是题外话,因为它是关于没有阅读manual
  • 实际上甚至没有搜索对如何更接近想要的结果有很好解释的网站 - 自然阅读 PHP 手册。

标签: php


【解决方案1】:
$results = array();

foreach ($tweets->{'statuses'} as $value) 
{
    if($value->{'geo'}!=null)
    {    
        $prop = get_object_vars($value->{'geo'});

        $results []= array(
           'text' => $value->{'text'},
           'lat' => $prop['coordinates'][0],
           'long' => $prop['coordinates'][1]
        );
    }
}

return json_encode($results);

【讨论】:

  • 是的,虽然这里有很多多余的大括号(例如$tweets->{'statuses'})是从 OP 的帖子中复制的。我通常会向 OP 指出这一点。
猜你喜欢
  • 1970-01-01
  • 2013-02-08
  • 2013-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 2016-05-11
  • 1970-01-01
相关资源
最近更新 更多