hypweb.net
XOOPSマニア  最新情報のRSS(サイト全体)
[ 自宅サーバーWebRing |ID=54 前後5表示乱移動サイト一覧 ]

19年3月27日(Wed) 12時55分
TOP » UsersWiki » nao-pon » blog » 2013-01-09

RSS of nao-pon/blog
2013 1月 9 (水)
 

[PHP] if文の条件式内での代入・演算子優先順位でハマる anchor.png

私は、PHP の if文の条件式の中で代入を行うことが多いです。

例えば、

1
2
3
if ($a = 'hoge') {
    var_dump($a);
}

この結果は

string(4) "hoge"

です。

条件を増やしたくて次のようにしました。上記と同じ結果になることを期待しています。

1
2
3
if ($a = false || $a = 'hoge') {
    var_dump($a);
}

この結果は

bool(true)

となってしまいました。うほ!!

なんということでしょう。

これにハマってしまいました。

正解は

1
2
3
if ($a = false or $a = 'hoge') {
    var_dump($a);
}

で、この結果は正しく

string(4) "hoge"

になりました。

詳しいことはよく分からないけど、PHP の演算子の優先順位によるものらしいです。

演算子の優先順位が "||" > "=" > "or" ということだそうです。

「これからも、気をつけないと」ということで、書き留めておきました。

参考
PHPのif文の条件式での代入ではまった件 - kanonjiの日記


新しくコメントをつける

題名
ゲスト名
投稿本文

より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 1766, today: 1, yesterday: 1
初版日時: 2013-01-09 (水) 11:57:41
最終更新: 2013-01-09 (水) 11:57:41 (JST) (2268d) by nao-pon
このページのTopへ
ログイン
ユーザ名:

パスワード:

オートログイン

Basic 認証

新規登録 | パスワード紛失



メインメニュー
UsersWiki メニュー
付箋メニュー
付箋メニュー 
付箋の編集
文字色: 背景色:
お名前:  線接続id:
 
ブックマーク
オンサイトブックマークは
ログインするとご利用になれます
[ログインする]
サイト内 Wiki
☆ 検索 ☆



高度な検索(サイト内)
FireFox検索プラグイン
オンライン状況
合計 36 人がオンライン中 :-)
(UsersWiki : 3 人)

登録ユーザ: 0 & ゲスト: 36

もっと...
サイト情報
管理人

nao-pon
 

登録ユーザ数: 4600


Web Services by Yahoo! JAPAN
楽天ウェブサービスセンター
Amazon.co.jpアソシエイト
現在ページのQRコード
現在ページのQRコード
[携帯対応]
参照元情報
参照なし