2009-09-07 10 views
8

क्या कोई त्वरित तरीका है (मौजूदा विधि) अलग-अलग के रूप में ',' के साथ स्ट्रिंग में सरणी तत्व को संयोजित करें? विशेष रूप से मैं की जगह विधि की एक पंक्ति रहा हूँ निम्नलिखित दिनचर्या:PHP: विभाजक के रूप में ',' के साथ स्ट्रिंग में सरणी तत्व को संयोजित करें

//given ('a','b','c'), it will return 'a,b,c' 
private static function ConstructArrayConcantenate($groupViewID) 
{ 
    $groupIDStr=''; 
    foreach ($groupViewID as $key=>$value) { 
     $groupIDStr=$groupIDStr.$value; 
     if($key!=count($groupViewID)-1) 
      $groupIDStr=$groupIDStr.','; 
    }  

    return $groupIDStr; 
} 

उत्तर

35

यह वास्तव में क्या है PHP implode() फ़ू nction के लिए है।

$groupIDStr = implode(',', $groupViewID); 
+0

उत्कृष्ट। क्या कोई भिन्नता है जो 'implode' करता है, लेकिन '$ groupViewID [3]' से शुरू होता है और अंत में जाता है? धन्यवाद! – Olie

+1

आपको जो करना है वह एक नई सरणी बनाना है जिसमें '$ groupViewID [3]' से अंत तक सबकुछ शामिल है, और इसे लागू करने के लिए प्रदान करें। उपर्युक्त उदाहरण में, आप 'array_slice ($ groupViewID, 3) 'के साथ' $ groupViewID' को प्रतिस्थापित कर सकते हैं '। – Artelius

+0

वही है जो मैं खोज रहा था; धन्यवाद! :) – Olie

6
$arr = array('a','b','c'); 
$str = join(',',$arr); 

में शामिल होने फटना के लिए एक उपनाम है की कोशिश करें, लेकिन मैं इसे पसंद करते हैं, क्योंकि यह एक जावा या पर्ल पृष्ठभूमि (और अन्य) से उन लोगों के लिए अधिक समझ में आता है।

+0

भले ही जॉइन सही भी है, मुझे लगता है कि अधिकांश PHP डेवलपर इसके बजाय इंपोड देखने के लिए उपयोग किए जाते हैं। :) – carl

+1

@ करल वंड्रिक - शामिल होने के लिए सभी कारणों() आईएमओ, लेकिन मैं समझ सकता हूं कि PHP डेवलपर्स इंपोड() का उपयोग करना पसंद करेंगे, क्योंकि यह * कूल कूलर है। – karim79

1

इंपोड() फ़ंक्शन ऐसा करने का सबसे अच्छा तरीका है। इसके अतिरिक्त संबंधित विषय के शेक के लिए, आप निम्न प्रकार के टेक्स्ट से सरणी बनाने के लिए विस्फोट() फ़ंक्शन का उपयोग कर सकते हैं:

$ text = '18: 09: 00 '; $ t_array = विस्फोट (':', $ टेक्स्ट);

1

आप खाली डिलीमीटर के साथ भी इंपोड() का उपयोग कर सकते हैं: implode(' ', $value); बहुत सुविधाजनक।

संबंधित मुद्दे