我正在使用系统(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
的计算结果不为true。和想法为什么?我必须排版输出内容吗?
编辑: 我将结果转换为int类型。
答案 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