使用变量对多维 php 数组进行排序(usort)

Using a variable to sort multidimensional php array (usort)

SO 上有一些帖子关注 php 中的多维数组排序,我可以在使用时使其正常工作:

usort($list, function($a, $b)
            {
                return $a['content_id'] <=> $b['content_id'];
            }
        );

但我找不到任何关于使用变量进行排序的参考资料。当我尝试使用一个时,出现错误。例如在这个例子中:

    $sortVariable='content_id';
    usort($list, function($a, $b)
            {
                return $a[$sortVariable] <=> $b[$sortVariable];
            }
        );

它不起作用,我不确定为什么 - 我收到 'Undefined variable' 错误。寻求帮助,谢谢

这是由于 variable scope. $sortVariable is not available inside of your function. To make it available to your closure use the use language construct:

$sortVariable='content_id';
usort($list, function($a, $b) use ($sortVariable) {
    return $a[$sortVariable] <=> $b[$sortVariable];
});