2011-05-15 17 views
5

मैं बस सोच रहा हूं कि इस कोड को केवल एक पंक्ति में लिखने का कोई तरीका है या नहीं।PHP विस्फोट समारोह

$exp = explode(" ", $text); 
$cut = $exp[0]; 

तो चर निर्दिष्ट करने के बिना।

धन्यवाद

उत्तर

8

आप ही कभी पहले भाग चाहते हैं, तो strtok के साथ सरणी वैकल्पिक हल से बचने:

$cut = strtok($text, " "); 

यह पता कटौती से कुछ पहले डेलीमीटर (आपके मामले में जगह) तक स्ट्रिंग।

+5

यह एक बहुत अच्छा जवाब है, और यह पूरी तरह से काम करता है जब तक कि पहला अक्षर '" "' '' '' '' 'है। ओपी के प्रश्न का नतीजा एक खाली स्ट्रिंग होगा और आपके उत्तर का परिणाम पीओ 1 से अगले स्थान पर स्ट्रिंग होगा। वैसे भी +1। – AndersTornkvist

+0

@ richard86: दिलचस्प है। मुझे कभी एहसास नहीं हुआ कि यह वास्तव में पहले गैर-डिलीमीटर को छोड़ देता है। आमतौर पर उस सटीक व्यवहार को प्राप्त करने के लिए 'trim()' लागू होगा। लेकिन यह तब विस्फोट करने में एक महत्वपूर्ण अंतर है, यदि आपको खाली स्ट्रिंग भाग की भी आवश्यकता हो सकती है/उम्मीद करनी पड़ती है। – mario

3
$var = reset(explode(" ", $text)); 
+0

लेकिन आप एक '$ var' पहला तत्व (है कि सवाल' $ cut' की तरह हैं, लेकिन यहां पूरा सरणी के लिए होता है के साथ '$ exp की तरह, के साथ खत्म होगा ' – Nanne

+0

इससे कोई त्रुटि भी मिल जाएगी: 'सख्त मानकों: केवल चर को संदर्भ – meze

+0

@Nanne द्वारा पारित किया जाना चाहिए। यह ओपी – PeeHaa

3
$cut = substr ($text, 0, strpos ($text, ' ')); 

या

$cut = substr (trim ($text), 0, strpos (trim ($text), ' ')); 
संबंधित मुद्दे