teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

バリデーションの中身を修正

2020/11/26 13:19

投稿

yukinari302
yukinari302

スコア19

title CHANGED
File without changes
body CHANGED
@@ -8,7 +8,7 @@
8
8
  ```PHP
9
9
  <?php
10
10
 
11
- $nums = array();
11
+ $nums = array(1,2,3,4,);
12
12
  $result = exponentiation($nums);
13
13
 
14
14
  function exponentiation($nums){

1

バリデーションの中身を修正

2020/11/26 13:19

投稿

yukinari302
yukinari302

スコア19

title CHANGED
File without changes
body CHANGED
@@ -8,37 +8,32 @@
8
8
  ```PHP
9
9
  <?php
10
10
 
11
- $nums = array(1,2,3,4);
11
+ $nums = array();
12
12
  $result = exponentiation($nums);
13
13
 
14
14
  function exponentiation($nums){
15
- if(!empty($nums) && (is_numeric($int)) ){
15
+ if(empty($nums) && is_array($nums) ){
16
+ echo 'エラー';
17
+ }foreach($nums as $num){
18
+ if(is_numeric($nums)){
16
- echo 'エラーです';
19
+ echo 'エラーです';
20
+ }else{
21
+ echo pow($num, 3). "\n";
22
+ }
17
23
  }
18
- foreach($nums as $num){
19
- echo pow($num, 3). "\n";
20
- }
21
-
22
24
  }
25
+
23
26
  ```
24
27
 
25
- 配列の中身が3乗される関数を作成することはできたのですが、
26
- バリデーションの処理がうまくいきません。
28
+ バリデーションチェック
29
+ ・空チェック
30
+ ・配列であること
31
+ はうまく処理が走りました。
27
32
 
28
- if文の複合条件を使って空チェック・数字であるかどうかを関数内に書いたのですが、
29
- 動作確認するとバリデーションを通過してしまいます。
30
33
 
34
+ しかし、
31
- 配列であるかどか?のバリデーションの書き方を(php 配列 バリデーション)などとググって調べたのです
35
+ 配列の中身が数字であるというバリデーションチェック処理
32
- Laravelでの配列の検証方法などがヒットしてしまい方が分かりません。
36
+ いきません。
33
37
 
34
-
35
- 解決したいことをまとめますと
36
-
37
- ・バリデーション書き方(配列あること)
38
+ ご指摘頂いたとおり$intから変更してみたのですが、
38
- ・バリデーションの処理の正しい書き方
39
-
40
- を解決したいです。
41
-
42
-
43
- 教えていただけますと大変助かります。
39
+ どこか間違っているかご指摘いただけますと助かります。
44
- よろしくお願い致します。