2011-10-06 14 views
23

मैं sprintf के साथ एक स्ट्रिंग को प्रारूपित करना चाहता हूं लेकिन कई बार तर्क दोहराता हूं। देखें ..sprintf - दोहराने वाले तर्क

$str = "Str 1: %s - Str 2: %s - Str 2 again: %s"; 

उस स्ट्रिंग को स्वरूपित करने के लिए, मैं दो बार दो बार दोहराना चाहता हूं।

echo sprintf($str, "I'm string 1", "My name is string 2"); 

और जैसे वांछित परिणाम:

Str 1: I'm string 1 - Str 2: My name is string 2 - Str 2 again: My name is string 2 

कि इसके लिए कोई तरीका नहीं है ??

उत्तर

47

यह सब documentation में है!

$str = 'Str 1: %1$s - Str 2: %2$s - Str 2 again: %2$s'; 
echo sprintf($str, "I'm string 1", "My name is string 2"); 

नोट: प्रारूप स्ट्रिंग के लिए एकल उद्धरण का उपयोग करें अन्यथा आप मिल जाएगा पीएचपी नोटिस: अपरिभाषित चर: रों में/पथ// tofile रहे हैं: लाइन

तुम भी $ साथ बच सकते हैं यदि आप डबल कोट्स का उपयोग कर रहे हैं तो \

+0

मेरी गलती, यह दस्तावेज़ों पर स्पष्ट है! धन्यवाद। –

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