首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP stdClass设置'id‘属性奇怪的行为

PHP stdClass设置'id‘属性奇怪的行为
EN

Stack Overflow用户
提问于 2012-10-25 21:08:48
回答 3查看 327关注 0票数 1

有人能解释这种行为吗?

代码语言:javascript
复制
    $object = new stdClass();


    //This works.
    $object->test = "Test";

    //This works.
    $arbitrary = "arbitrary";
    $object->$$arbitrary = "again, testing";

    //This works.
    $object->id = "2";

    //This fails
    $test = "id";
    $object->$$test  = "2";  // On this line.

我正在尝试通过动态变量名设置'id‘属性。如果我显式声明,我可以很好地设置'id‘属性。我可以动态设置其他变量名--即“任意”。有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-25 21:10:12

没有名为$id的变量。

尝尝这个

代码语言:javascript
复制
$id = "2";

$test = "id";
$object->$$test  = "2";  // On this line.
票数 3
EN

Stack Overflow用户

发布于 2012-10-25 21:14:33

这是关于php如何评估$object->$$test的;

首先评估$$test,这会产生一个变量$id,也就是给出一个Notice: Undefined variable: id

一个解决方案是定义一个变量$id,但更好的方法是使用$object->{$test}

票数 1
EN

Stack Overflow用户

发布于 2012-10-25 21:11:54

存在语法错误。你想要这个我相信:

代码语言:javascript
复制
$object->{$test}

而不是

代码语言:javascript
复制
$object->$$test
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13069319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档