我希望创建一个usort函数。该函数使用对象字段的值进行相互比较。但是,我希望通过变量设置对象字段,但我无法做到。以下是代码的精简部分:
<?php
function projSort($a, $b){
return $a->{$sort} > $b->{$sort};
}
usort($projects, 'projSort');
?>
$sort
通过$_POST
设置并包含一个字符串。当我使用上面的代码时,我得到一个Fatal error: Cannot access empty property
。我错过了什么?
答案 0 :(得分:0)
你可以使用global
或者我错过了什么?
function projSort($a, $b){
global $sort;
return $a->{$sort} > $b->{$sort};
}
如果您想避免使用全局变量,可以直接使用$_POST
:
function projSort($a, $b){
$sort = sanitized($_POST['sort']);
return $a->{$sort} > $b->{$sort};
}