0

これらの変数を比較すると、私のコードは常に true を返します。私は何を間違っていますか?

<?php
    $postuser = (integer)bp_activity_user_id();  //echos 1int(0)
    $posteduser = (integer)bp_activity_comment_user_id();  //echos 3int(0)

    if ( $postuser === $posteduser) {
       echo 'true';
    } else {
       echo 'false'; 
    }
?>
4

3 に答える 3

0

intval と == を使用するだけで、うまく機能して評価できるはずです

<?php     

      $postuser = intval(bp_activity_user_id());  //echos 1int(0)

      $posteduser = intval(bp_activity_comment_user_id());  //echos 3int(0)

      if ( $postuser == $posteduser) {
          echo 'true';
       } else {
            echo 'False'; 
       }

?>
于 2013-10-19T16:11:42.353 に答える
0

あなたの問題はおそらく間違った型キャストです:

(integer)に変更(int)

$postuser = (int)bp_activity_user_id();  //echos 1int(0)
$posteduser = (int)bp_activity_comment_user_id();

http://php.net/manual/en/language.types.integer.php

于 2013-10-19T16:17:19.750 に答える