2012-03-06 25 views
25

गूंजें यदि कोई चर खाली नहीं है, तो मैं कुछ HTML कोड प्रदर्शित करना चाहता हूं, अन्यथा मैं कुछ भी प्रदर्शित नहीं करना चाहता हूं।PHP - यदि चर खाली नहीं है, तो कुछ HTML कोड

मैं इस कोड की कोशिश की है, लेकिन काम नहीं करता:

<?php 
    $web = the_field('website'); 
    if (isset($web)) { 
?> 
     <span class="field-label">Website: </span><a href="http://<?php the_field('website'); ?>" target="_blank"><?php the_field('website'); ?></a> 
<?php 
    } else { 
     echo "Niente"; 
    } 
?> 
+1

क्या' है the_field' –

+0

? @ जैक मैनी - मेरा मानना ​​है कि यह एक ऑटो वर्डप्रेस फ़ंक्शन है जो दिए गए फ़ील्ड नाम को आउटपुट करता है। – Morgon

उत्तर

60
if (!empty($web)) { 
?> 
    <span class="field-label">Website: </span><a href="http://<?php the_field('website'); ?>" target="_blank"><?php the_field('website'); ?></a> 
<?php 
} else { echo "Niente";} 

http://us.php.net/manual/en/function.empty.php

+2

आपकी खाली कॉल से पहले '!' होना चाहिए, जैसा कि ओपी की तलाश है। – pbond

11

isset वापस आ जाएगी सच भले ही चर रहा है ""। isset केवल तभी लौटाता है जब एक चर शून्य है। आपको क्या करना चाहिए:

if (!empty($web)) { 
    // foo 
} 

यह जांच करेगा कि वह चर खाली नहीं है।

आशा इस मदद करता है

+0

ओपी को सादे का उपयोग करना चाहिए, सरल 'अगर ($ वेब)'। यहां 'खाली' की कोई आवश्यकता नहीं है, इसमें अनावश्यक रूप से गलतियों को छिपाने की क्षमता है। – deceze

+0

मुझे नहीं लगता कि कैसे 'अगर (! खाली ($ var))' भ्रम पैदा कर सकता है, लेकिन मैं सहमत हूं कि 'अगर ($ var) 'सरल है। – vanneto

+0

क्योंकि 'खाली' में किसी भी प्रकार के चर के लिए त्रुटियों को दबाने का विशिष्ट उद्देश्य नहीं है। जब तक आपको आवश्यकता नहीं है तब तक आप त्रुटियों को दबाना नहीं चाहते हैं। [PHP के जारी करने और खाली करने के लिए परिभाषित गाइड] (http://kunststube.net/isset/) समस्या को विस्तार से बताता है। ? \t \t \t deceze

1
if(!empty($web)) 
{ 
    echo 'Something'; 
} 
+0

यह अच्छा काम किया \t \t \t अगर (खाली ($ वेब)!) { गूंज " वेबसाइट: target='_blank'>"; } बाकी {गूंज "Niente";} > लेकिन मैं सच लिंक नहीं देख सकते हैं, मैं इस उत्पादन देखें: वेबसाइट: लक्ष्य = '_ blank'> –

0

आप isset उपयोग कर रहे हैं, क्या isset करता है की जाँच करता है, तो चर सेट कर दिया जाता है ('मौजूद है') और NULL नहीं है। आप जो खोज रहे हैं वह empty है, जो जांचता है कि कोई चर खाली है या नहीं, भले ही यह सेट हो। जांच करने के लिए क्या कोई नहीं है और क्या पर एक नज़र डालें नहीं है:

http://php.net/manual/en/function.empty.php

यह भी जांच क्या isset बिल्कुल वही करती लिए http://php.net/manual/en/function.isset.php, ताकि आप समझ क्यों यह आप इसे क्या करने की आशा नहीं करता है।

4

बस if ($web) का उपयोग करें। यह true है यदि परिवर्तक के पास सत्य मान है।

आपको isset या empty की आवश्यकता नहीं है क्योंकि आप जानते हैं कि चर मौजूद है, क्योंकि आपने इसे पिछली पंक्ति में सेट किया है।

+2

यह सबसे अच्छा जवाब है?। ऐसा लगता है कि कुछ लोग इसे जानते हैं। – IXN

1
if($var !== '' && $var !== NULL) 
{ 
    echo $var; 
} 
0

आपकी समस्या the_field() के आपके उपयोग, जो उन्नत कस्टम फील्ड्स, एक वर्डप्रेस प्लगइन के लिए है में है।

यदि आप एक चर में किसी फ़ील्ड का उपयोग करना चाहते हैं तो आपको इसका उपयोग करना होगा: $web = get_field('website');

1

मैं आशा है कि यह भी काम करेगा, "is_null" का उपयोग

<?php 
$web = the_field('website'); 
if (!is_null($web)) { 
?> 

....html code here 

<?php 
} else { 
    echo "Niente"; 
} 
?> 

http://php.net/manual/en/function.is-null.php

आशा व्यक्त की कि सूट आप ..

-4

लगता है लोगों को इस एक सा उलझी रहे हैं की कोशिश करो। मूल प्रश्न पर वापस, "... यदि चर खाली नहीं है, तो कुछ HTML कोड गूंजें।" "यदि कोई चर खाली नहीं है, तो मैं कुछ HTML कोड प्रदर्शित करना चाहता हूं, अन्यथा मैं कुछ भी प्रदर्शित नहीं करना चाहता हूं। "

आसान तरीका:

<?php if (!empty($var)) echo "Some Html Code Here"; ?> 

अपने चर खाली नहीं है, तो"।। यहाँ कुछ HTML कोड "प्रदर्शित किया जाएगा यदि यह खाली है कुछ नहीं होगा

+2

यह मौजूदा 4 साल के उत्तरों के लिए कोई मूल्य कैसे जोड़ता है? – vard

+0

यह मुझे यहां कुछ भी योगदान करने के लिए पर्याप्त नहीं है। अपनी टिप्पणी को सीधे संबोधित करने के लिए, क्योंकि उम्र के बावजूद, जानकारी की खोज करते समय स्वयं जैसे अन्य लोग इस धागे में आ सकते हैं। मेरी पोस्ट खुद के लिए बोलती है क्योंकि मैंने इसे क्यों बनाया। क्योंकि यह मूल प्रश्न, और भविष्य के खोजकर्ता, पूछताछ के लिए एक बहुत ही सरल सही उत्तर है। एक बेहतर सवाल हो सकता है, "यह कैसे चोट पहुंचा?" –

+2

मुझे होहनेर, रॉडनी या वैनेटो द्वारा पोस्ट किए गए उत्तरों के साथ कोई अंतर नहीं दिखता है। पहले से ही पुराने प्रश्न का उत्तर देना बिल्कुल ठीक है, लेकिन आपको यह सुनिश्चित करना चाहिए कि आप मौजूदा उत्तरों में मूल्य जोड़ दें। केवल 5 मामूली बातों के साथ ही एक ही बात कहने के बाद, गैर प्रासंगिक मतभेद भविष्य में पाठक को किसी भी तरह से मदद नहीं करेंगे और केवल शोर को बढ़ाएंगे। आप यहां योगदान करने के लिए स्वागत से अधिक हैं, लेकिन मैं सुझाव देता हूं कि [कैसे जवाब दें] (http://stackoverflow.com/help/how-to-answer) सहायता पृष्ठ: "[...] उत्तर देने का प्रयास करने से बचें जिन प्रश्नों से पहले ही पूछा जा चुका है और कई बार जवाब दिया गया है। " – vard

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