下面的代码工作并产生一个从最低到最高气体比例值排序的多维数组
usort($BMEnergyArray, function($a, $b) {
return $a['gasproportion'] - $b['gasproportion'];
});
但是,我需要通过传递一个变量作为排序参数来调用这个函数,如下所示,它无法正确排序
$energyproportion = "'gasproportion'";
usort($BMEnergyArray, function($a, $b) {
return $a[$energyproportion] - $b[$energyproportion];
});
如何使用变量实现排序?
数组中的每一项的结构如下:
Array ( [0] => Array ( [time] => 2018-11-01 01:40:00 [gas] => 13159 [coal] => 503 [nuclear] => 5822 [wind] => 2499 [hydro] => 263 [biomass] => 3024 [solar] => 0 [gasproportion] => 52 [coalproportion] => 2 [nuclearproportion] => 23 [windproportion] => 10 [hydroproportion] => 1 [biomassproportion] => 12 [solarproportion] => 0 )
您可以通过function() use()
语法授予它访问权限...
$energyproportion = "gasproportion";
usort($BMEnergyArray, function($a, $b) use ($energyproportion) {
return $a[$energyproportion] - $b[$energyproportion];
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句