0
echo "<h2 style='margin:0; padding:0;'>Recent Comments</h2>";

            if ($sth7->rowCount()) {
                while($row7 = $sth7->fetch(PDO::FETCH_ASSOC)) {
                echo "<div class='comment'>{$row7['usr']} said";
                }
            }
            else($sth7->rowCount() = 0)                                                          
            echo "User";

Can't use method return value in write context

rowcount() = 0 ロジックが機能しないのはなぜですか?

4

3 に答える 3

3

= は PHP の代入演算子です。

基本的に、$sth7->rowCount() に 0 を代入しようとしています。

おそらく、$sth7->rowCount() == 0 のことですか?

また、 if else if は本当に必要ありません。if else である可能性があります。

if($sth7->rowCount()) {

} else {

}

rowCount() は整数を返し、0 以外の整数は true にキャストされます。

于 2011-09-08T23:47:11.473 に答える
2

0 と比較してみrowcount() == 0てください。あなたのコード ( ) は 0 を代入しようとします。また、このようなエラーを検出しやすくするためにrowcount() = 0、比較中に定数を左側に置くと便利な場合があります: ( )。0 == rowcount()

于 2011-09-08T23:46:41.070 に答える
0

elseロジックは必要ありません。関連付けられている if (およびすべての elseifs) が true と評価されなかった場合にのみ実行されます。

また、=代入演算子です - 「等しくなる」と読みます

$var = 1; // Var becomes equal to 1

==は等値演算子で、2 つの式が等しいかどうかをテストします

$var == 1 // Var is equal to 1

あなたはおそらくしたいです

else if ($sth7->rowCount() == 0)                                                          
     echo "User";
于 2011-09-08T23:57:26.340 に答える