こんにちは私は次の機能を持っています:
foreach($array_1 as &$arr){
usort($arr,"cmp");
}
function cmp($a, $b) {
if ($a[2] == $b[2]) {
return 0;
}
return ($a[2] < $b[2]) ? -1 : 1;
}
このようにすると機能しますが、2の代わりに変数(== 2)と数値を入力すると、関数は機能しません。これはなぜですか、どうすれば回避できますか?変数入力に基づいて配列をソートするために数値を変更できるようにしたいと思います。
動作しないコードは次のとおりです。
$type = 2;
foreach($array_1 as &$arr){
usort($arr,"cmp");
}
function cmp($a, $b) {
if ($a[$type] == $b[$type]) {
return 0;
}
return ($a[$type] < $b[$type]) ? -1 : 1;
}