获取具体的5个整数属性值以进行比较

时间:2019-03-29 16:53:30

标签: php concrete5

我正在使用系统(concrete5)在适当位置编辑一些php。我正在尝试以下方法:

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

当我通过插入$answerprint $answer上插入支票时,它返回6(这是用户持有的属性数据)。但是,if的计算结果不为true。和想法为什么?我必须排版输出内容吗?

编辑: 我将结果转换为int类型。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

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

请参阅Concrete5文档以了解有关属性的更多信息- https://documentation.concrete5.org/developers/attributes/attribute-value-objects-and-output-formatting