マルチバイト文字列のスペースまたはハイフンを検出したい。
最初に、文字列を文字の配列に分割します
$chrArray = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);
次に、それらの記号をハイフンまたはスペースと比較してみます
foreach ($chrArray as $char) {
    if ($char == '-' || $char == ' ') {
        // Do something
    }
}
ああ、これは動作しません。わかりました、なぜですか?たぶん、ASCIIのそれらの記号のためですか?
echo mb_detect_encoding('-'); // ASCII
さて、私はそれを処理しようとします。
    $encoding = mb_detect_encoding($str); // UTF-8
    $dash = mb_convert_encoding('-', $encoding);
    $space = mb_convert_encoding(' ', $encoding);
ああ、でもそれもうまくいきません。一瞬待って...
echo mb_detect_encoding($dash); // ASCII
!!! 何が起こっていますか???どうすればやりたいことができますか?