2010-04-03 17 views
5

$ bookA = "123"; $ दरार = "ए";PHP - चर के अंदर परिवर्तनीय?

echo $book$crack; 

इस तरह की है कि उत्पादन है:

मैं इस के समान कुछ करना चाहता हूँ। गूंज आदेश के लिए सही सिंटैक्स

क्या है?

धन्यवाद।

+0

पढ़ें वे सरणी के बारे में कहा कि –

+0

इस सवाल का जवाब हर एक downvoted गया था का उपयोग करें। क्यूं कर?? – Josh

+0

[PHP में गतिशील परिवर्तनीय नाम] का संभावित डुप्लिकेट (http://stackoverflow.com/questions/9257505/dynamic-variable-names-in-php) –

उत्तर

3
$varname = 'book'.$crack; 
echo $$varname; 
5

ये variable variables कहा जाता है, लेकिन आप arrays बजाय का उपयोग करना चाहिए।

+1

आप क्यों कहते हैं कि उसे सरणी का उपयोग करना चाहिए, जब हमने समझाया नहीं उसे इस तरह से करने की जरूरत है। हो सकता है कि डेटा उस स्रोत से आ रहा है जिसका उसका कोई नियंत्रण नहीं है। Arrays सवाल के लिए पूरी तरह से अप्रासंगिक हैं। –

+0

क्योंकि सरणी में अधिक सुविधाएं होती हैं (जैसे कि फिर से शुरू करना आसान होता है) और कोड में बहुत अधिक पठनीय होते हैं। – Quentin

+1

"हो सकता है कि डेटा उस स्रोत से आ रहा है जिसका उसका कोई नियंत्रण नहीं है।" - क्योंकि तीसरे पक्ष के आंकड़ों का मूल्यांकन करना भयानक अभ्यास है। तृतीय पक्ष डेटा को वैरिएबल/फ़ंक्शंस/जो भी हो, के वास्तविक नामों से कभी भी बातचीत नहीं करनी चाहिए - बातचीत के लिए एकमात्र संभावित तरीका डेटा के साथ काम करना है। – zerkms

9
echo ${"book" . $crack}; 
+0

अच्छा। आज कुछ नया सीख लिया। – zaf

2

यह काम करेगा:

$bookA = "123"; 
$crack = "A"; 
$var = "book$crack"; 
echo $$var; 
+0

मुझे लगता है कि आपका मतलब है 'echo $$ var; '। –

+0

आप सही हैं, धन्यवाद @ फ़ेलिक्सक्लिंग! – Josh

3

तुम एक साहचर्य सरणी का उपयोग करना चाहते हो सकता है।

उदाहरण के लिए:

$book = array(); 
$book["A"] = "Some Book"; 
$crack = "A"; 

//Later 
echo $book[$crack]; 
+3

'" 'और' "' 'बजाय का" का उपयोग 'अजीब पार्स त्रुटि को जन्म दे सकती;) – Progman

+0

फिक्स्ड कि, खेद वहाँ में snuck उन है कि पता ही नहीं था: पी।। –

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