【问题标题】:Problems with syntax in PHP [duplicate]PHP中的语法问题[重复]
【发布时间】:2023-03-14 23:33:02
【问题描述】:

我有一个对象,可以通过

访问它的一个属性
$book = new Book(); print $book->price;

我也可以打电话

 $prop = "price"; print $book->$prop.

但我不知道如何以混合方式调用,它给出了错误:

$book->id_$prod

作为 $book->id_products 的缩写,是 $prod = "products"。

【问题讨论】:

    标签: php object syntax properties


    【解决方案1】:
    $book = new Book(); 
    $id_prod = "id_$prod";
    print $book->$id_prod;
    

    【讨论】:

    • 这是唯一的方法吗?不可能使用 {} 什么的?它让我想起了对象的取消引用,比如 $object->method()[0],我认为在 PHP 5.4 之前它是不正确的,你应该让 $tmp =$object->method(),然后访问 $tmp[0] .
    • 是的,你也可以 print $book->{"id_$prod"};
    【解决方案2】:

    混合前两个选项。

    $prop = 'id_'.$prod;
    $book->$prop;
    

    【讨论】:

    • 那是微不足道的。我的意思是用一些技巧的直接方法。例如 {"id_" 。 $prod} 什么的。
    • 它似乎有效: $book->{"id_" 。 $prod}
    猜你喜欢
    • 2011-06-04
    • 2011-03-23
    • 2013-05-31
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多