获取concrete5整数属性值以进行比较

问题描述 投票:0回答:2

我正在使用一个系统(concrete5)编辑一些PHP到位。我正在尝试以下方法:

use Concrete\Core\User\UserInfo;
$ui = UserInfo::getByID(3);
$answer = $ui->getAttribute('Q1');
if ($answer >= 5)
    print "True";

当我通过插入$answer插入print $answer检查时,它返回6(这是用户持有的属性数据)。但是,if没有评估为真。想法为什么?我必须排版输出或其他什么?

编辑:我使用相同的结果将类型转换为int。

php concrete5
2个回答
1
投票

选择的答案不是正确的方法。

使用$ui->getAttribute('Q1','display')

use Concrete\Core\User\UserInfo;
$ui = UserInfo::getByID(3);
$answer = $ui->getAttribute('Q1','display');
if ($answer >= 5)
print "True";

有关attributes-https://documentation.concrete5.org/developers/attributes/attribute-value-objects-and-output-formatting的更多信息,请参阅具体的5文档


1
投票

如果$ answer是一个对象,并且定义了__toString函数,那么那里描述的所有内容都可能发生。尝试这样的事情:

use Concrete\Core\User\UserInfo;
$ui = UserInfo::getByID(3);
$answer = $ui->getAttribute('Q1');
$answer = $answer.'';
if ($answer >= '5')
    print "True";
© www.soinside.com 2019 - 2024. All rights reserved.