settype関数は変数の型を変換できる関数ですが、使い方を間違えないようにしましょう。次の例では、settype関数を使って変数を数値に変換しようとしていますが、意図した「10」と表示されずに「1」と表示されます。
<?php $a = "10円"; $a = settype($a, "int"); echo $a; ?>
○実行結果
1
うまくいかない理由は、settype関数の戻り値は処理がうまくいったかどうを示すtrueまたはfalseだからです。つまり、型の変換結果は元の変数に格納する必要はありません。
<?php $a = "10円"; settype($a, "int"); echo $a; ?>
○実行結果
10
単純に変数を数値に変換するだけなら、settype関数よりintval関数の方が簡単です。
<?php $a = "10円"; echo intval($a); ?>
○実行結果
10