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

質問編集履歴

4

間違ってた

2016/08/01 06:59

投稿

igaiga
igaiga

スコア144

title CHANGED
File without changes
body CHANGED
@@ -42,78 +42,4 @@
42
42
  $rent_amount[$j] = "";
43
43
  }
44
44
  }
45
- ```
46
-
47
-
48
- 関数にした場合はこんな感じでしょうか?
49
- なにかいろいろと間違っている気がしますが。。。
50
-
51
- ###関数にした場合のソースコード
52
- ```
53
- $j=0;
54
- $replace = array('.',',','、','。');
55
-
56
- function toNumber($val) {
57
-
58
- //9.5万円形式の場合の変換
59
- if(preg_match("/万円/",$val)){
60
-
61
- //万円削除→9.5
62
- $val = str_replace("万円", "",$val);
63
-
64
- //半角数字に変換→9.5(ドットは無視されるといいな)
65
- $val = mb_convert_kana($val, "n");
66
-
67
- //×10000にして桁を合わせる→95000
68
- $val = sprintf('%.0f', $val * 10000);
69
-
70
- //数字以外の文字が入っている場合は値を空にする
71
- if(preg_match("/^[0-9]+$/",$val)){
72
- } else {
73
- $val = "";
74
- }
75
- //その他の場合の変換
76
- } else {
77
-
78
- //円削除
79
- $val = str_replace("円", "",$val);
80
-
81
- //半角数字に変換(ドットは無視されるといいな)
82
- $val = mb_convert_kana($val, "n");
83
-
84
- //カンマ、ドット等を削除
85
- $val = str_replace($replace,'',$val);
86
-
87
- //数字以外の文字が入っている場合は値を空にする
88
- if(preg_match("/^[0-9]+$/",$val)){
89
- } else {
90
- $val = "";
91
- }
92
- }
93
- return $val;
94
- }
95
-
96
- //賃料①の取得
97
- $val = $url2->rent_amount;
98
- toNumber($val);
99
- //ここで$valが整形されて戻ってくる?
100
- $rent_amount[$j] = $val;
101
-
102
- //賃料②がある場合の取得
103
- if(!empty($url2->room_keyword1)){
104
- $j++;
105
- $val = $url2->room_keyword1;
106
- toNumber($val);
107
- //ここで$valが整形されて戻ってくるといいな
108
- $rent_amount[$j] = $val;
109
- }
110
-
111
- //賃料③がある場合の取得
112
- if(!empty($url2->room_keyword2)){
113
- $j++;
114
- $val = $url2->room_keyword2;
115
- toNumber($val);
116
- //ここで$valが整形されて戻ってくると期待
117
- $rent_amount[$j] = $val;
118
- }
119
45
  ```

3

追記変更

2016/08/01 06:59

投稿

igaiga
igaiga

スコア144

title CHANGED
File without changes
body CHANGED
@@ -44,7 +44,9 @@
44
44
  }
45
45
  ```
46
46
 
47
+
47
48
  関数にした場合はこんな感じでしょうか?
49
+ なにかいろいろと間違っている気がしますが。。。
48
50
 
49
51
  ###関数にした場合のソースコード
50
52
  ```

2

追記

2016/08/01 06:39

投稿

igaiga
igaiga

スコア144

title CHANGED
File without changes
body CHANGED
@@ -42,4 +42,76 @@
42
42
  $rent_amount[$j] = "";
43
43
  }
44
44
  }
45
+ ```
46
+
47
+ 関数にした場合はこんな感じでしょうか?
48
+
49
+ ###関数にした場合のソースコード
50
+ ```
51
+ $j=0;
52
+ $replace = array('.',',','、','。');
53
+
54
+ function toNumber($val) {
55
+
56
+ //9.5万円形式の場合の変換
57
+ if(preg_match("/万円/",$val)){
58
+
59
+ //万円削除→9.5
60
+ $val = str_replace("万円", "",$val);
61
+
62
+ //半角数字に変換→9.5(ドットは無視されるといいな)
63
+ $val = mb_convert_kana($val, "n");
64
+
65
+ //×10000にして桁を合わせる→95000
66
+ $val = sprintf('%.0f', $val * 10000);
67
+
68
+ //数字以外の文字が入っている場合は値を空にする
69
+ if(preg_match("/^[0-9]+$/",$val)){
70
+ } else {
71
+ $val = "";
72
+ }
73
+ //その他の場合の変換
74
+ } else {
75
+
76
+ //円削除
77
+ $val = str_replace("円", "",$val);
78
+
79
+ //半角数字に変換(ドットは無視されるといいな)
80
+ $val = mb_convert_kana($val, "n");
81
+
82
+ //カンマ、ドット等を削除
83
+ $val = str_replace($replace,'',$val);
84
+
85
+ //数字以外の文字が入っている場合は値を空にする
86
+ if(preg_match("/^[0-9]+$/",$val)){
87
+ } else {
88
+ $val = "";
89
+ }
90
+ }
91
+ return $val;
92
+ }
93
+
94
+ //賃料①の取得
95
+ $val = $url2->rent_amount;
96
+ toNumber($val);
97
+ //ここで$valが整形されて戻ってくる?
98
+ $rent_amount[$j] = $val;
99
+
100
+ //賃料②がある場合の取得
101
+ if(!empty($url2->room_keyword1)){
102
+ $j++;
103
+ $val = $url2->room_keyword1;
104
+ toNumber($val);
105
+ //ここで$valが整形されて戻ってくるといいな
106
+ $rent_amount[$j] = $val;
107
+ }
108
+
109
+ //賃料③がある場合の取得
110
+ if(!empty($url2->room_keyword2)){
111
+ $j++;
112
+ $val = $url2->room_keyword2;
113
+ toNumber($val);
114
+ //ここで$valが整形されて戻ってくると期待
115
+ $rent_amount[$j] = $val;
116
+ }
45
117
  ```

1

誤字

2016/08/01 06:33

投稿

igaiga
igaiga

スコア144

title CHANGED
File without changes
body CHANGED
@@ -9,12 +9,6 @@
9
9
 
10
10
  特にif(preg_match("/^[0-9]+$/",$rent_amount[$j]))の部分はまったく同じなので整理したいです。
11
11
 
12
- ###発生している問題・エラーメッセージ
13
-
14
- ```
15
- エラーメッセージ
16
- ```
17
-
18
12
  ###該当のソースコード
19
13
  ```
20
14
  $j=0;