我无法将 Json 转换为字符串 [OctoberCms]

I can't convert Json to string [OctoberCms]

我正在尝试从输入中获取值,该输入允许用户创建任意数量的字段这就是我在 fields.yaml 中创建该字段的方式:

str_og_fb_admins:
        label: Facebook admins
        comment: Insert here the admins names
        span: left
        tab: Facebook
        type: repeater
        form:
          fields:
            str_og_fb_admins:
              label: Facebook admins
              type: text

然后在我的组件上我这样称呼它:

$settings = Settings::instance();
$this->ogFbAdmins = $settings->str_og_fb_admins;

但现在我想从每个单一输入中获取单个值,但我不知道如何,我尝试使用 json_decode(); 函数,但它 return 是一个错误。

如果我使用 echo json_encode($this->ogFbAdmins); 它 returns

{"1":{"str_og_fb_admins":"admin1"},"2":{"str_og_fb_admins":"admin2"}}

但我想return像这样:

admin1
admin2

如何以第二种方式到达 return?

ps:我用json_decode($this->ogFbadmins);时return的错误是这样的:

"json_decode() expects parameter 1 to be string, array given"

我认为 $this->ogFbAdmins 是一个数组,因此您根本不需要任何 JSON 转换。

尝试将其视为 Pure 中的数组 PHP

$settings = Settings::instance();
$this->ogFbAdmins = $settings->str_og_fb_admins;
foreach ($this->ogFbAdmins as $adm) {
    echo $adm['str_og_fb_admins'];
}

现在内部结构可能是一个对象所以你可能需要做

$settings = Settings::instance();
$this->ogFbAdmins = $settings->str_og_fb_admins;
foreach ($this->ogFbAdmins as $adm) {
    echo $adm->str_og_fb_admins;
}

这应该有效:

PHP

$ogFbAdmins = json_decode(json_encode($this->ogFbAdmins), true);
foreach($ogFbAdmins as $key => $value) {
  echo $value['str_og_fb_admins'] . "\n";
}  

EVAL.IN