これが別の問題のように見える場合は、お詫び申し上げます。かなり多くの解決策があり、探しているものが見つかりませんでしたが、見落としていた可能性があります。また、タイトルが最適な説明ではない場合はお詫び申し上げます - 他にどのように表現すればよいかわかりません。
文字列として 5 つの「機能」があります。
$height $width $depth $length $colour
5 から 1 までのさまざまな一意の組み合わせをすべて取得したい例:
5: $height $width $depth $length $colour
4: $height $width $depth $length
4: $height $width $depth $colour
4: $height $width $length $colour
4: $height $depth $length $colour
4: $width $depth $length $colour
...
and so on
...
1: $height
1: $width
1: $depth
1: $length
1: $colour
それが違いを生むかどうかはわかりませんが、コードでは&&
andを使用する予定!$string
です。
4: $height && $width && $depth && $length && !$colour
4: $height && $width && $depth && !$length && $colour
4: $height && $width && !$depth && $length && $colour
4: $height && !$width && $depth && $length && $colour
4: !$height && $width && $depth && $length && $colour
and so on.
機能が 4 つあるときは手作業でこれを行っても問題ありませんでしたが、機能が 5 つになると多すぎます。変数をハッシュに入れることは良い出発点になると思いましたが、実際のアルゴリズムに関しては...助けていただければ幸いです!
編集:明確ではないかもしれないことに気付きましたが、if/elsifステートメントになるため、各組み合わせを「クエリ」できるようにしたいので、if (h && w && !d ...)