Javascriptでは、var myStringToArray = myString.split('');
は完全に受け入れられます。
しかし、PHPでは、$My_String_To_Array = explode('', $My_String);
はエラーをスローします。
警告:explode()空の区切り文字
PHPマニュアル( http://php.net/manual/en/function.explode.php )は次のように説明しています。
区切り文字が空の文字列( "")の場合、explode()は[〜#〜] false [〜#〜]を返します。
では、現代のPHP explode('', $My_String)
の代わりに使用するshould?
これまでのところ、私が見ることができる選択肢は次のとおりです。
split("", $My_String)
-PHP 5.3.0で非推奨str_split($My_String)
preg_split('//', $My_String)
7年前は、str_split()
が正しい代替手段でした。
しかし、str_split()
はまだ現代的に使用されていますか、それともpreg_split()
だけを見るべきですか?
それとも他の何かを見るべきですか?
マルチバイトUTF-8文字列を扱う場合は、次のものを使用する必要があります。
$array = preg_split('//u', $My_String,-1, PREG_SPLIT_NO_EMPTY);
それ以外の場合は、次を使用できます。
$array = str_split($My_String);
理由は マニュアル に記載されています:
str_split()は、マルチバイトでエンコードされた文字列を処理するときに、文字ではなくバイトに分割されます。
Str_splitはあなたが求めているものだと思います
<?php
$arr = str_split("Hello");
?>
を生成します
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
}
最初のパラメーターは必須です。
explode(separator,string,limit)
[separator]: required;
[string]: required;
[limit]: alternative.
ボイド[セパレータ]を使用した分解関数は無意味です。
以上です。O(∩_∩)O〜