我无法将 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";
}
我正在尝试从输入中获取值,该输入允许用户创建任意数量的字段这就是我在 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";
}