【发布时间】:2012-08-21 05:18:36
【问题描述】:
我已经多次看到这个问题被问到,但我仍然感到困惑并且遇到了类似的情况。我不确定this 和我的上下文是否相同,只要我确信这是一个不同的场景,否则我可能误解了解释。 好的。这是我的场景:
$amount = isset($cost->getCostAmount()) ? $cost->getCostAmount() : 0;
函数 costAmount() 是在运行时动态添加的,它可能存在也可能不存在。所以我需要先检查我的函数是否存在,其余的就很清楚了。但现在在这种情况下,我遇到了一个致命错误:
致命错误:无法在 ..../file.php 的写入上下文中使用方法返回值
现在,如果我这样做:
$amount = $cost->getCostAmount() ? $cost->getCostAmount() : 0;
显然我会得到一个错误:
调用未定义的方法:getCostAmount
如果函数不存在。对此有什么可能的解决方案?解释将被认为是有帮助的。
请求:请对问题被否决的原因添加足够的评论,以便我将来能够改进我的问题。
【问题讨论】:
-
表示没有方法
getCostAmount(),$cost是什么? -
@MihaiIorga $cost 是一个对象或其他类。
-
@BurhanKhalid 是的,我已经尝试过了,它不起作用。
-
@roko $cost 必须是一个初始化的类才能工作。
标签: php