如何使用php修改对象?

时间:2014-08-05 18:13:28

标签: php arrays object

我有一个数组对象$ obj。当我执行print_r($ obj)时,它给出以下输出:

Array
(
[0] => Sabai_Link Object
    (
        [_url:Sabai_Link:private] => SabaiFramework_Application_Url Object
            (
                [_data:SabaiFramework_Application_Url:private] => Array
                    (
                        [script_url] => http://demodomain.com/test/questions/ask
                        [params] => Array
                            (
                                [term_id] => 4
                            )

                        [fragment] => 
                        [separator] => &
                    )

            )

        [_label:Sabai_Link:private] => Ask Question
        [_options:Sabai_Link:private] => Array
            (
                [icon] => pencil
            )

        [_attributes:Sabai_Link:private] => Array
            (
                [class] => sabai-btn sabai-btn-small sabai-btn-success
            )

    )

)

我想修改$ obj对象,以便再向params数组添加一个项目,如下所示:

[tab_id] => 1

因此,修改后的项目将为:

[term_id] => 4
[tab_id] => 1

如何使用php做到这一点?

2 个答案:

答案 0 :(得分:0)

如果你想将一个或多个元素推到数组的末尾,你应该使用:array_push

     array_push ( $params , array('term_id' => 4) )

答案 1 :(得分:0)

所以基本上,你想为一个嵌套数组添加一个值,对吗?在这种情况下,使用类似于RaNdoM_PoWneD提供的语法,只需扩展。像这样:

$obj[0][_url:Sabai_Link:private][_data:SabaiFramework_Application_Url:private][params]["tab_id"] = 1

请注意,您的命名语法有点奇怪,我不熟悉_url:Sabai_Link:private可能引入的问题名称,但这样的事情应该有用。