PHPの勉強中です。
サンプルプログラムを見ていて以下の「@」の意味がわかりません。
-------------------
// 入力内容を取得する
$text1 = @$_POST["text1"];
if (strlen(@$text1) < 4 or strlen(@$text1) > 8) {
echo "<p>4~8文字以内でお願いします";
}
---------------------
マニュアルには「式の先頭につけるとエラーを非表示」と有りますが、変数の前につけるのはどういう意味があるのでしょうか?
試しに@を全て消しても同じ結果でした。
アドバイスよろしくお願いします。
No.1ベストアンサー
- 回答日時:
$_POST["text1"];
は、配列$_POSTに"text1"をキーとする値が無かったらエラー(E_NOTICE)になる。
$test1 = @$_POST["text1"];
とすると、E_NOTICEが出ない(この場合、$text1にはnullが入る)。
勉強中ならば、ソースコードの先頭に
error_reporting(E_ALL);
と宣言したほうがいい。初期設定だとE_NOTICEレベルのエラーはどこにも表示されず、どこにも出力されないからな。
E_ALLにしておくと、NOTICEが見えるようになるから、@が無い時にどういう動作をするか分かるはず。
<?php
error_reporting(E_ALL);
$array = array('hoge' => 'fuga');
$text1 = $array['key'];
$text2 = $var;
?>
//Notice: Undefined index: key in C:\xampp\htdocs\test.php on line 4
//Notice: Undefined variable: var in C:\xampp\htdocs\test.php on line 5
早速の回答有り難うございました。
さすが専門家ですね。助かります☆
特に「error_reporting(E_ALL);」は勉強になりました。
ホントにつけた方が良さそうですね(^_^;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP ($_POST['email']??"", ・・・の ??"" の""の意味ですが 2 2022/07/30 06:38
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォントの色を変えるには?
-
PHP8を使うと、大量のWarningが...
-
PHPで、エラーがない場合のみ画...
-
ワードプレスサイト PHP8.0.25...
-
phpでPEAR::DBを使っているので...
-
PHPで特定のURLにジャンプす...
-
awsにApacheとPHPを入れて、何...
-
パースエラーとは?
-
PHP 文字列を代入した配列を変...
-
php5.6でsimplexml_load_string...
-
「@$変数」の「@の意味は?」
-
windows環境でphpのfopenが使用...
-
php pear mdb2に質問です。
-
最小公倍数をPHPで求めるには
-
これは例外処理でしょうか?
-
onedrive にexcelファイルをア...
-
バッチを用いたフォルダの自動移動
-
phpとaspの違いについて
-
form actionで二つ送信先を指定...
-
phpで画像がどうしても文字化け...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP8を使うと、大量のWarningが...
-
フォントの色を変えるには?
-
ワードプレスサイト PHP8.0.25...
-
トランザクションが原因?DBに...
-
PHPでfatal errorが出ても無視...
-
PHPでネットワークドライブのop...
-
「@$変数」の「@の意味は?」
-
パースエラーとは?
-
PHPで特定のURLにジャンプす...
-
正規表現での最後尾のバックス...
-
phpでクラスのメソッドで同名の...
-
error_reporting(0);にも関わら...
-
PHPで、エラーがない場合のみ画...
-
php7のhtmlentitiesはEUC-JPを...
-
phpのrenameでエラーが出ます
-
phpでget_headers()が使えない?
-
メールアドレスにメールが届い...
-
phpのエラー(T_LNUMBER)について
-
urlの直接入力を防ぐには
-
これは例外処理でしょうか?
おすすめ情報