2011-08-12 12 views
9

अगर मैं इस स्ट्रिंग में एक चर $ वर है: echo "Hello, there are many $vars";पीएचपी: संयोजन के बिना तार में चर

Php variable $vars बजाय $var के लिए लग रहा है।

संगतता के बिना: "Hello, there are many $var" . "s";
ऐसा करने का कोई और तरीका है, जैसे कि कुछ प्रकार के भागने वाले चरित्र?

उत्तर

23

php में आप भागने चरित्र धारा के तहत तो

echo "Hello, ${var}'s head is big"; 

की तरह या

echo "Hello, {$var}'s head is big"; 

तरह संदर्भ here चर बच सकते हैं

+0

'{$ var} 'भी काम करेगा ... –

+0

मजेदार बात, मुझे यह भी पता था, लेकिन जब मैं php दस्तावेज़ में संदर्भ खोजता हूं, तो मुझे कोई नहीं मिल रहा है। मैं शायद गलत खोज रहा हूं, तो क्या किसी के पास यह है? – Joubarc

+1

और फिर निश्चित रूप से मुझे यह मिल गया - संदर्भ के लिए उपयोगी हो सकता है: http://pa2.php.net/manual/en/language.types.string.php#language.types.string.parsing.complex – Joubarc

1

निजी तौर पर मैं हमेशा इस तरह की स्ट्रिंग से चर विभाजित: echo 'Hello, there are many '.$var.'s';

अधिकतर क्योंकि पठनीयता की, यदि आप अपने कोड से गुज़रते हैं तो यह तुरंत स्पष्ट होता है कि चर कहाँ हैं।

+0

से पूछा है, अगर इससे बचने के लिए कठिन है तो 1 स्ट्रिंग – dukevin

+0

में 5 वेरिएबल्स के 5 सेट हैं, पठनीयता एक अन्य कारण है कि मैं अन्य समाधान –

+1

पसंद करता हूं जो वास्तव में आपके आईडीई/संपादक पर निर्भर करता है। मेरा संपादक मेरे लिए इन चरों को हाइलाइट करता है, इसलिए मेरे पास हमेशा पठनीय कोड होता है। साथ ही, उन चरों को कॉल करने के लिए '{}' का उपयोग करके सीम पठनीयता प्रभाव मिलेगा। –

4

आप अपने चर से ठीक से बचने के लिए {} का उपयोग कर सकते हैं। निम्न उदाहरण पर विचार करें:

echo "There are many ${var}s"; #Or... 
echo "There are many {$var}s"; 

Working example

1

वैकल्पिक रूप से आप sprintf को देखने के लिए चाहते हो सकता है: http://php.net/manual/en/function.sprintf.php

sprintf समारोह आप एक विशिष्ट अंकन में एक स्ट्रिंग के रूप चर के किसी भी प्रकार प्रारूपित कर सकते हैं।

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