文字列の文字を反復する良い方法はありますか?私が行うことができるようにしたいのですがforeach
、array_map
、array_walk
、array_filter
などの文字列の文字に。
タイプキャスティング/ジャグリングではどこにも行かず(文字列全体を配列の1つの要素として出力します)、私が見つけた最良の解決策はforループを使用して配列を作成することです。何かもっと良いものがあるべきだと感じています。つまり、あなたがそれにインデックスを付けることができるなら、あなたは同様に反復することができないはずですか?
これは私が持っている中で最高です
function stringToArray($s)
{
$r = array();
for($i=0; $i<strlen($s); $i++)
$r[$i] = $s[$i];
return $r;
}
$s1 = "textasstringwoohoo";
$arr = stringToArray($s1); //$arr now has character array
$ascval = array_map('ord', $arr); //so i can do stuff like this
$foreach ($arr as $curChar) {....}
$evenAsciiOnly = array_filter( function($x) {return ord($x) % 2 === 0;}, $arr);
どちらかがあります:
A)文字列を反復可能にする方法
B)文字列から文字配列を構築するより良い方法(もしそうなら、他の方向はどうですか?)
ここに明らかな何かが欠けているような気がします。
array_filter
、この意味で行うほとんどすべてのことは、文字列またはreg-ex関数でより適切に実行できる