こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

if($a & $b) の意味

phpでコーディングをしていますが、
初心者なので、よろしくお願いします。

コーディングの修正をしていますが、

if($a & $b)
{
処理
}

というコードが書かれたif文があり、
ifの()内の意味がわかりません。

C#では大体わかるのですが、
== なのか 
!= なのか

インターネットで調べてもわからないので、
$a & $bの意味を教えてください。

よろしくお願いします。

投稿日時 - 2007-09-10 11:03:21

QNo.3332056

困ってます

質問者が選んだベストアンサー

>> if($a & $b)
ビット演算です。

Wiki:
http://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E6%BC%94%E7%AE%97

if ($a & $b) の場合だと、変数$a と $b の論理積の結果が > 0 なら処理を行うという意味です。

参考URL:http://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E6%BC%94%E7%AE%97#AND

投稿日時 - 2007-09-10 12:01:14

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

&はビット積演算子だそうです。

きっとビットマスクの処理だと思います。たとえばデータベースの
中で論理値を取るいくつかの項目をまとめてビット列で表した
フィールドがあって$aに代入されている時に、$bに00100000を代入
してビット積を取ると、左から3番目のビットが立っている時にTRUE
になるはずです。

参考URL:http://php.benscom.com/manual/ja/language.operators.bitwise.php

投稿日時 - 2007-09-10 12:22:55

ANo.2

理論積ですかね?
「$aおよび$bの両方が1であれば1」とかそういう意味だったと思いますが・・・。

ちょっと自信無いので「理論積 PHP」か「ビット演算子 PHP」とかで検索を掛けてみてください。
すみません・・・。

投稿日時 - 2007-09-10 12:04:02

あなたにオススメの質問