php for循环创建对象不起作用

时间:2015-10-29 09:47:32

标签: php loops for-loop iteration

我有这个代码

for ($x = 0; $x <= count($testas); $x += 2) {

    $object = new stdClass();
    $object->$testas[0] = $x;
    $newArr[] = $object;
    }

echo json_encode($newArr);

这里的一切运作良好,但如果我像这样chagne $ testas数组:

for ($x = 0; $x <= count($testas); $x += 2) {

    $object = new stdClass();
    $object->$testas[$x] = $x;
    $newArr[] = $object;
    }

echo json_encode($newArr);
它不打印任何东西。请帮忙

由于

1 个答案:

答案 0 :(得分:1)

看起来像你想要的。奇数元素成为属性,事件元素成为键值对象的值。而且这些对象在一个数组中。

最好将变量对象字段名称包装在花括号中。只是不要搞砸了。

$testas = array ('a', 'b', 'c', 'd');
$newArr = array();

for ($x = 0; $x < count($testas); $x += 2) {

     $object = new stdClass();
     $object->{$testas[$x]} = $testas[$x + 1];

     $newArr[] = $object;
}

echo json_encode($newArr);

输出是:

  

[{ “一个”: “B”},{ “C”: “d”}]