--- title: PHP: $HTTP_GET_VARS [非推奨]の書き換え tags: PHP Apache2.4 author: ekzemplaro slide: false --- [$HTTP_GET_VARS](https://www.php.net/manual/ja/reserved.variables.get.php)は非推奨になっています。 しかし、古いプログラムでは使われています。 例えば、 ```php:test_args.php "; echo ''; echo ""; echo "test_args.php

"; echo "

テスト

"; $in_vars = ""; while (list($key, $val) = each($HTTP_GET_VARS)) { $in_vars .= $key."=".$val. "

"; } echo $in_vars; echo "Jun/28/2020

"; echo ""; echo ""; // ----------------------------------------------------------------- ?> ``` このプログラムを走らせると、次のようなログが出ます。 ```text:/var/log/apache2/error.log [Sun Jun 28 20:40:57.834991 2020] [php7:warn] [pid 8012] [client 127.0.0.1:41472] PHP Warning: Variable passed to each() is not an array or object in /home/uchida/html/data_base_language/test_dir/php/test_args.php on line 10, referer: http://localhost/html/data_base/test_dir/php/ ``` 次のように修正すれば、正常に動きます。 ```php: "; echo ''; echo ""; echo "test_args.php

"; echo "

テスト

"; $in_vars = ""; // while (list($key, $val) = each($HTTP_GET_VARS)) { while (list($key, $val) = each($_GET)) { $in_vars .= $key."=".$val. "

"; } echo $in_vars; echo "Jun/28/2020

"; echo ""; echo ""; // ----------------------------------------------------------------- ?> ``` 次のように引数を与えて実行した結果です。 test_args.php?aa=12&bb=34&cc=56 ![test_args_jun28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/4388d53e-0b43-bd47-4b73-320dbd27aac2.png)