PHP stdClass问题

时间:2015-07-30 12:59:01

标签: php object stdclass

我尝试创建一个需要按照这样结构化的通用对象:

[Content] => stdClass Object
    (
        [item] => Array
            (
                [0] => stdClass Object
                    (
                        [Value] => STRING
                    )

            )
        [item] => Array
            (
                [0] => stdClass Object
                    (
                        [Value] => ANOTHER STRING
                    )
            )
    )

这是我的代码:

$content = new stdClass();
$data = file('filname.csv');

foreach($data as $key => $val) {
    $content->item->Value = $val;
}

每次循环迭代时都会覆盖它自己。通过将item定义为这样的数组:

$content->item = array();
...
$content->item[]->Value = $val;

......结果也不是估计的。

1 个答案:

答案 0 :(得分:3)

每次使用数组都会覆盖数据。您应该创建用于存储值的临时对象,然后将它们放到item数组。

$content = new \stdClass();
$content->item = array();

foreach($data as $key => $val) {
    $itemVal = new \stdClass();
    $itemVal->Value = $val;
    $content->item[] = $itemVal;
}