電子書籍の厳選無料作品が豊富!

phpで書いています。データベースから呼んできた値(int型)を、変数に入れ、
それらを比較演算子で偶数・奇数を識別しようとしたのですが、
Uncaught TypeError: Unsupported operand types: string % int in
というエラーになり表示されません。

================================
$KANRYO_N = htmlspecialchars($Srch['kanryo'] ?? null);
if ($KANRYO_N % 2 == 0) {
$KANRYO_EVEN = $KANRYO_N; //kanryoが偶数のとき
} elseif ($KANRYO_N % 2 == 1) {
$KANRYO_ODD = $KANRYO_N; //kanryoが奇数のとき
}
================================


データ型が異なると出ているのだと思いますが、対処法が調べてもわからず、
どなたか教えていただけますでしょうか。

A 回答 (4件)

$Srch['kanryo'] が int または、数字だけの string 型であるならば、


htmlspecialchars ではなく intval に変更
https://www.php.net/manual/ja/function.intval.php
    • good
    • 0

htmlspecialchars()って、htmlで記述出来ない特殊記号をエスケープして返す関数です。



引き数(パラメータ)も違うし、何??
    • good
    • 0

未経験者でごめんなさい。



$Srch['kanryo']

これがint型の数値になると思えるのですが、それを
http://capella.3rin.net/Entry/33/
nullにしているのが気になります。
数値として計算できないのではないかと・・・・推測ですので違っていたらごめんなさい。
    • good
    • 0

> string % int


文字列型のままみたいです。数値型への変換が必要なのでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!