वहाँ एक स्ट्रिंग के पात्रों पर पुनरावृति करने के लिए एक अच्छा तरीका है? मैं ऐसा करने में सक्षम होना चाहते हैं foreach
, array_map
, array_walk
, array_filter
एक स्ट्रिंग के पात्रों पर आदि।
टाइप कास्टिंग / करतब दिखाने के लिए मुझे कहीं भी नहीं मिला (पूरे स्ट्रिंग को ऐरे के एक तत्व के रूप में डालें), और मैंने जो सबसे अच्छा समाधान पाया है वह है कि ऐरे के निर्माण के लिए लूप का उपयोग करना। ऐसा लगता है कि कुछ बेहतर होना चाहिए। मेरा मतलब है, अगर आप इस पर अनुक्रमण कर सकते हैं तो क्या आपको इसे पुनरावृत्त करने में सक्षम नहीं होना चाहिए?
यह मेरे लिए सबसे अच्छा है
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);
वहाँ या तो है:
ए) स्ट्रिंग को चलने योग्य
बी बनाने का एक तरीका) स्ट्रिंग से चरित्र सरणी बनाने का एक बेहतर तरीका (और यदि ऐसा है, तो दूसरी दिशा के बारे में कैसे?)
मुझे लगता है कि यहाँ कुछ स्पष्ट याद आ रही है।
array_filter
इस अर्थ में आप जो कुछ भी करेंगे, वह स्ट्रिंग या रेग-एक्स-फ़ंक्शंस के साथ बेहतर हो सकता है