回答編集履歴

1

回答修正

2019/09/03 07:41

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,3 +1,51 @@
1
+ 「空白(全角、もしくは半角)以外の文字があるか」をどう判定するか?
2
+
3
+ の回答としては厳密には異なる回答だったので、編集しました。
4
+
5
+ ※ 元の回答は下部に残しておきます
6
+
7
+
8
+
9
+ 空白(全角、もしくは半角)以外の文字が存在するかどうかは、
10
+
11
+ 空白(全角、もしくは半角)を取り除いた文字列が空文字(`""`)であるかどうかで判定します。
12
+
13
+
14
+
15
+ - 空白(全角、もしくは半角)を取り除いた文字列が空文字(`""`)なら、全て空白(全角、もしくは半角)であるということなので、空白(全角、もしくは半角)以外もの字は存在しない。
16
+
17
+ - 空白(全角、もしくは半角)を取り除いた文字列が空文字(`""`)以外なら、空白(全角、もしくは半角)以外の文字が残っているので存在する。
18
+
19
+
20
+
21
+ ```
22
+
23
+ foreach(array("ab","a b","ab ","a b"," ","  "," ") as $str){
24
+
25
+ if (str_replace(array(" "," "),"", $str) == "") {
26
+
27
+ echo "[".$str."]: Not exists non space character." . PHP_EOL;
28
+
29
+ } else {
30
+
31
+ echo "[".$str."]: Exists non space character." . PHP_EOL;
32
+
33
+ }
34
+
35
+ }
36
+
37
+ ```
38
+
39
+
40
+
41
+ ----
42
+
43
+
44
+
45
+ # 以下では、空白(全角、もしくは半角)が存在するかどうかを判定するロジックでした。
46
+
47
+
48
+
1
49
  空白(全角、もしくは半角)を取り除いた文字列と元の文字列と比較した結果で判定します。
2
50
 
3
51
  同じなら含まれないし、異なれば含まれます。