PHP: सरणी में स्प्लिट स्ट्रिंग, जैसे कोई डिलीमीटर नहीं है




string arrays (6)

मेरे पास एक स्ट्रिंग है जैसे कि:

"0123456789"

और प्रत्येक चरित्र को एक सरणी में विभाजित करने की आवश्यकता है।

मैं इसके नरक के लिए कोशिश की:

explode('', '123545789');

लेकिन यह मुझे स्पष्ट दिया: चेतावनी: विस्फोट में परिभाषित कोई delimiter) ..

मैं इस पर कैसे आऊंगा? मैं हाथ से किसी भी विधि को नहीं देख सकता, खासकर सिर्फ एक समारोह


आप क्या खत्म करने की कोशिश कर रहे हैं? आप सरणी की तरह स्ट्रिंग में वर्णों तक पहुंच सकते हैं:

$s = 'abcd';
echo $s[0];

प्रिंट ' '


इसे इस्तेमाल करे:

    $str = '546788';
    $char_array = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);

इसे इस्तेमाल करे:

$str = '123456789';
$char_array = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);

यदि आप स्ट्रिंग को विभाजित करना चाहते हैं, तो इसका उपयोग करना सबसे अच्छा है:

$array = str_split($string);

जब आपके पास डिलीमीटर होता है, जो स्ट्रिंग को अलग करता है, तो आप कोशिश कर सकते हैं,

explode('' ,$string);

जहां आप विस्फोट के अंदर पहले चर में डिलीमीटर पास कर सकते हैं जैसे कि:

explode(',',$string);

str_split चाल कर सकते हैं। ध्यान दें कि PHP में तारों को एक वर्ण सरणी की तरह एक्सेस किया जा सकता है, ज्यादातर मामलों में, आपको अपनी स्ट्रिंग को "नई" सरणी में विभाजित करने की आवश्यकता नहीं होगी।


$array = str_split("$string");

काम को बहुत अच्छा काम करेगा, लेकिन अगर आप उस स्ट्रिंग में विशेष पात्रों को संरक्षित करना चाहते हैं, और आप उनके साथ कुछ हेरफेर करना चाहते हैं, तो मैं इसका उपयोग करूंगा

do {
    $array[] = mb_substr( $string, 0, 1, 'utf-8' );
} while ( $string = mb_substr( $string, 1, mb_strlen( $string ), 'utf-8' ) );

क्योंकि मेरे कुछ व्यक्तिगत उपयोगों के लिए, विशेष पात्रों के साथ कोई समस्या होने पर इसे अधिक विश्वसनीय माना गया है





explode