namespace App\Controllers\Redis;
class getArray{
public function sortArray(){
$sortMe = Array
(
'05' => 100,
'15' => 1,
'24' => 10,
'32' => 1000,
);
$sorted= Array
(
'0' => 1,
'1' => 10,
'2' => 100,
'3' => 1000,
);
function cmp($a, $b) {
//I need to get $sorted here
return array_search($a, $sorted) - array_search($b, $sorted);
}
usort($sortMe , 'App\Controllers\Redis\cmp');//pass the $sorted parameter
}
}
我如何传递数组参数与命名空间,因为所有其他引用我发现没有命名空间,所以我迷路了。感谢任何建议。
- 我尝试的:**
private $sorted = []; //declace a private var in the class
$this->sorted= Array
(
'0' => 1,
'1' => 10,
'2' => 100,
'3' => 1000,
);
function cmp($a, $b) {
$sorted = $this->sorted;
return array_search($a, $sorted) - array_search($b, $sorted);
}
但这将返回PHP错误:PHP致命错误:未捕获的错误:不在对象上下文中时使用$this
- PHP编辑器链接:**
预期结果:www.example.comhttps://3v4l.org/gbbua#v7.0.14
我目前的计划:www.example.comhttps://3v4l.org/1Kmoq#v7.0.14
1条答案
按热度按时间58wvjzkj1#
名称空间或类在这里几乎没有什么作用,您只需要一个anonymous callback: