使用变量对多维 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];
});
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];
});