奇妙な問題があります。最近、アプリケーションをローカルの xampp インストールから SUSE Enterprise Server 11 に移行しました。すべてが機能していますが、この 1 つのことが頭を悩ませ、解決策が見つかりません。
次の構文を使用して、GET または POST で配列を渡す場合:
search_dggs.php?latmin[]=52.447529&latmin[]=22&lonmin=17.56&lonmax=22.16
latmin の最初の要素のみを取得します。これは、配列の受け渡しが必要な他の場所でエラーが発生した後に試した単純な例にすぎないことに注意してください。
print_r($_SERVER["QUERY_STRING"]);
出力
latmin[]=52.447529&latmin[]=22&lonmin=17.56&lonmax=22.16
しかし
print_r($_GET);
与える
Array
(
[latmin] => Array
(
[0] => 52.447529
)
[lonmin] => 17.56
[lonmax] => 22.16
)
すべての POST リクエストでまったく同じことが起こります。
PHP バージョン 5.3.8 を使用しています。問題はサーバーの構成にあると思いますが、この問題については何も見つかりませんでした。
コメントへの対応:
任意の数の変数を送信した場合も同じことが起こります。
parse_str($_SERVER["QUERY_STRING"]);
print_r($latmin);
与える
Array
(
[0] => 52.447529
)
php.ini はここにあります
ここで実際の動作を確認できるはずです
このphpファイルのソースファイルは
<?php
$test="latmin[]=52.447529&latmin[]=22&lonmin=23&lonmax=22.16";
parse_str($test);
print_r($latmin);
phpinfo();
?>