usortを使う

・報酬マスタID(PK)

・グッズID

・確率

・個数

からなる報酬エンティティの配列がある。

これは、通常確率降順になっているのだけど、開発環境下ではこれを確率昇順でソートし直したい。

usort($array_reward, function($a, $b) {  if ($a確率 == $b確率) {   return 0;  }  return ($a確率 < $b確率) ? -1 : 1; });

ここにさらに個数が1以上であるというチェックをいれたい。

usort($rewards, function($a, $b) {  if ($a個数 == 0) {   return 1;  } elseif ($a確率 == $b確率) {   return 0;  }  return ($a確率 < $b確率) ? -1 : 1; });

としてあげれば問題なく動く。

【参考】

PHP: usort - Manual