【アルゴリズム】ビット値=>該当キー(MySQL FIND_IN_SET()の逆?)を得る方法が解る方いらっしゃいませんか?



PHPで、

$bit_of = array(
'投' => 1
, '捕' => 2
, '一' => 4
, '二' => 8
, '三' => 16
, '遊' => 32
, '左' => 64
, '中' => 128
, '右' => 256
);

GOOD_FUNC( $bit_of, 6 ); // => array( '捕', '一' )
GOOD_FUNC( $bit_of, 21 ); // => array( '投', '一', '三' )

となるような、PHP関数ありませんでしょうか?

回答の条件
  • 1人3回まで
  • 登録:2007/09/11 00:57:55
  • 終了:2007/09/11 07:54:56

ベストアンサー

id:GEN111 No.1

GEN111回答回数472ベストアンサー獲得回数582007/09/11 01:17:52

ポイント200pt

標準ではないと思いますね。

function GOOD_FUNC($target, $search) {
  $result = array() ;
  foreach($target as $key => $value)
    if ($value & $search) $result[] = $key ;

  return $result ;
}

$bit_of = array(
'投' => 1
, '捕' => 2
, '一' => 4
, '二' => 8
, '三' => 16
, '遊' => 32
, '左' => 64
, '中' => 128
, '右' => 256
) ;

print_r(GOOD_FUNC( $bit_of, 6 ));
print_r(GOOD_FUNC( $bit_of, 21 )); 
id:radio3

ありがとうございます!

演算子 & ってこういう働きなのですね。

素晴らしいご回答ありがとうございます!!

2007/09/11 07:53:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません