ホームページ >バックエンド開発 >PHPチュートリアル >PHP でデータを渡すときに奇妙な問題が発生しました。タイトルは長くする必要があると聞きました
PHP でデータを渡すときに奇妙な問題が発生しました。タイトルは長くないといけないと聞きました!
HTMLで定義されているテキストボックスは以下のとおりです↓
フォーム ボタンが送信されると、背景は以下を受け入れます: ↓
$num0 = (string)$_POST[ "my_test"];
$num1 = (int)$_POST["my_test"];
$num2 = intval($_POST["my_test"]);
$num3 = $num0*1;
echo $num0 ;
echo $num1;
echo $num2;
echo $num3;
実行後の出力は次のとおりです:
1 0 0 0
強制タイプ設定を 1 に変更すると、すべてがデフォルトで 0 になるのはなぜですか? ? ? ? ? ?答えを求める
-----解決策---------
1111
テストの結果、ご指摘の問題は見つかりませんでした。
-----解決策---------
LZ のエンコードが正しいかどうかはわかりませんUTF-8 、可能であれば、BOM に関連しています。
------解決策------------------
これは幅が広いので完全なコードを送信してください。そして落とすこともできる。
------解決策------------------
utf-8で試してみましたが、うまくいきましたそれらはすべて 1 です。 。
------解決策------------------
試してみましたが、問題は見つかりませんでした。 。 。
------解決策---------
私もあなたの問題に遭遇しました。値が 1 の場合、intval() と (int)$var を使用して変数の型を変換すると、1 が 0 に置き換えられてしまうのは非常に不思議な気がします。これはとても奇妙な質問です!たぶん、エンコーディングに関係があるのでしょう。当時のエンコーディングは utf-8 だったので、gbk でこの問題が発生するかどうかはわかりません。
解決してください! ! ! ! ! ! ! ! !
------解決策---------
if($_GET["type"]) {
コードビハインドで型を渡していないことがわかります。出力.$num2 は num2 ではありません...
そして、addslashes がフィルタリングしたいのは文字列です。与えられたのは配列です..
if($_GET["type"]){
$num1 = (int)$_POST["my_test1"];
$num2 = (int )$_POST["my_test2"];
echo $num1."-".$num2 ;
}
?>
if(!get_magic_quotes_gpc()){ ラッシュを追加($_POST); ラッシュを追加($_GET); } if($_GET["タイプ"]){ $num1 = (int)$_GET["my_test1"]; $num2 = (int)$_GET["my_test2"]; echo $num1."-".num2; } <br><font color="#e78608">------解決策---------</font><br>間違いがたくさんあります。 <br>配列をエンコードするコードに次のように記述できます: <br>$n1=3;<br>$n2=5;<br>echo $n1.'_'.$n2;<br>ほら、結果は 3_5 になるはずです;<br> 型変換の問題については、私の個人的な推測では、以前に本で言及されているのを見たことがあります。変換された各型を var_dump することをお勧めします。 <br><div class="clear"></div>