【发布时间】:2018-03-19 11:35:55
【问题描述】:
我正在尝试构建一个对象,该对象将基于遍历数组来保存多个对象:
<?php
$final_object = new stdClass();
$array = ['one','two'];
$temp_str = '';
foreach ($array as $value) {
$temp_str .= $value . '->';
}
$temp_str = rtrim($temp_str, '->');
$final_object->$temp_str = 999;
print_r($final_object);
exit;
你可以猜到,解析器将 '->' 视为字符串文字,而不是 PHP 对象运算符。
我正在尝试做的事情可能吗?
最后,我想在 json_encoding 之后构建一个 json 字符串:{"one":{"two": 999}}
【问题讨论】:
-
是的,正如您所问的,可以“构建一个基于遍历数组来保存多个对象的对象”。但目前尚不清楚您要使用此代码做什么。看来您的问题更多是关于如何使用
->做某事。你想用它做什么?最终结果应该是什么样子? -
顺便说一句:循环可以替换为
$temp_str = join('->', $array)。 -
我只是想在 json_encoding 之后构建一个 json 字符串到:{"one":{"two":999}}