質問: 変数に格納された文字列に対して、空白(全角、もしくは半角)以外の文字列が一文字でもその変数に含まれているかどうかを判定したいのですが、どのような方法が考えられますでしょうか? 検索し、調べたのですが、そのような方法はヒットしませんでした... **追記** 調べた内容は、文字列を検索する必要があると思った為、キーワードに「文字列」「空白」「検索」や「空白のみ検索」などを入れ、検索し、文字列検索の関数をみつけましたが、それを生かす方法が分からず、ロジックを考えている過程で詰まってしまいました
回答: 「空白(全角、もしくは半角)以外の文字があるか」をどう判定するか? の回答としては厳密には異なる回答だったので、編集しました。 ※ 元の回答は下部に残しておきます 空白(全角、もしくは半角)以外の文字が存在するかどうかは、 空白(全角、もしくは半角)を取り除いた文字列が空文字(`""`)であるかどうかで判定します。 * 空白(全角、もしくは半角)を取り除いた文字列が空文字(`""`)なら、全て空白(全角、もしくは半角)であるということなので、空白(全角、もしくは半角)以外もの字は存在しない。 * 空白(全角、もしくは半角)を取り除いた文字列が空文字(`""`)以外なら、空白(全角、もしくは半角)以外の文字が残っているので存在する。 ``` foreach(array("ab","a b","ab ","a b"," "," "," ") as $str){ if (str_replace(array(" "," "),"", $str) == "") { echo "[".$str."]: Not exists non space character." . PHP_EOL; } else { echo "[".$str."]: Exists non space character." . PHP_EOL; } } ``` ---- 以下では、空白(全角、もしくは半角)が存在するかどうかを判定するロジックでした。 ======================================== 空白(全角、もしくは半角)を取り除いた文字列と元の文字列と比較した結果で判定します。 同じなら含まれないし、異なれば含まれます。 ```