มีวิธีที่ดีในการย้ำอักขระของสตริงหรือไม่? ฉันต้องการที่จะสามารถที่จะทำforeach
, array_map
, array_walk
, array_filter
ฯลฯ ในตัวละครของสตริง
ประเภทการคัดเลือกนักแสดง / การเล่นกลไม่ได้ทำให้ฉันไปไหน (ใส่สตริงทั้งหมดเป็นองค์ประกอบเดียวของอาร์เรย์) และทางออกที่ดีที่สุดที่ฉันพบคือใช้ for loop เพื่อสร้างอาร์เรย์ รู้สึกว่าน่าจะมีอะไรดีกว่านี้ ฉันหมายความว่าถ้าคุณสามารถสร้างดัชนีได้คุณก็ไม่สามารถทำซ้ำได้เช่นกัน?
นี่คือสิ่งที่ดีที่สุดที่ฉันมี
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
ในแง่นี้สามารถทำได้ดีกว่าด้วยฟังก์ชัน string หรือ reg-ex