人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【アルゴリズム】ビット値=>該当キー(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関数ありませんでしょうか?



●質問者: radio3
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:MySQL PHP アルゴリズム キー ビット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● GEN111
●200ポイント ベストアンサー

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

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 )); 
◎質問者からの返答

ありがとうございます!

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ