我正在使用一个系统(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。
选择的答案不是正确的方法。
使用$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文档
如果$ answer是一个对象,并且定义了__toString函数,那么那里描述的所有内容都可能发生。尝试这样的事情:
use Concrete\Core\User\UserInfo;
$ui = UserInfo::getByID(3);
$answer = $ui->getAttribute('Q1');
$answer = $answer.'';
if ($answer >= '5')
print "True";