質問: ### 前提・実現したいこと preg_matchで、入力文字列がが半角数字の場合、「1」を返すようにしたい。 ### 発生している問題・エラーメッセージ ``` preg_matchで入力文字列が半角数字の場合、「0」を返している ``` ### 該当のソースコード ``` $pro_price=$_POST['price']; // preg_matchは、入力文字列がが半角数字の場合、1を返す。マッチしないときは0を返す。 if(preg_match('/¥A[0-9]+¥z/',$pro_price)==0) { print'価格をきちんと入力してください。'; print'Please enter a correct price'; } else { print'価格:'; print $pro_price; print'円'; print'Price:'; print $pro_price; print'YEN'; } ``` ### 試したこと ・$pro_priceが半角数字であることの確認。 ・このコードは教材の写経のため、教材とコードが同じことであることの確認。 ・リファレンス(http://php.net/manual/ja/function.preg-match.php)を確認したが、解決に至らなかった。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: ``` $pro_price=$_POST['price']; // preg_matchは、入力文字列がが半角数字の場合、1を返す。マッチしないときは0を返す。 if(preg_match('/A\[0-9]+\z/',$pro_price)==0) { print'価格をきちんと入力してください。'; print'Please enter a correct price'; } else { print'価格:'; print $pro_price; print'円'; print'Price:'; print $pro_price; print'YEN'; } ```