将公共函数添加到json对象?

时间:2014-04-15 15:52:43

标签: php json class

由于php将json_decoded字符串视为对象,是否有办法扩展该对象?

例如,有没有办法解决这个问题;

$users = json_decode('[{"id":101,"name":"Ken Blank"},{"id":102,"name":"Steve Blank"},{"id":103,"name":"Scott Blank"},{"id":104,"name":"Tim Blank"}]'); 

并扩展它,例如;

class extended_class extends ___
{
    public function test(){
        echo("test");
    }
}

还是有另一种方法可以将公共函数添加到json定义的对象中吗?

1 个答案:

答案 0 :(得分:0)

Php允许您动态地向对象添加属性:

    $users = json_decode('{"id":101,"name":"Ken Blank"}');
    $users->test = function(){
        echo("test");
    };

    $users->test();

请注意,我的示例中的json是一个对象,正如标题所示。 但是正如下面的评论者所指出的,你问题中的json字符串实际上是一个对象数组,你不能将属性添加到数组中。