2015-01-16 8 views
5

मैं एक प्रतिक्रिया वापस आ रहा है कि JSON इनकोडिंग है, लेकिन जब मैं यह डिकोड मैं $var = json_decode($response); उपयोग करने के बाद true/false गुण खो देते हैं।json_decode() में पीएचपी सही या गलत बयान नहीं दिखा रहा

{ 
    "domain": "my.domain.com", 
    "created_at": "2014-11-15 00:26:53.74059", 
    "valid_mx": true 
} 

मैं भी कोशिश की है:

यहाँ एक उदाहरण है

$var = json_decode($response, true); 

लेकिन यह अभी भी true/false छोड़ रहा है। प्रतिक्रिया से मैं true/false को सही ढंग से कैसे खींच सकता हूं? मैं क्या खो रहा हूँ?

+0

आप क्या चाहते हैं? एक सरणी या वस्तु या क्या? यह मेरे लिए ठीक काम करता है – Rizier123

+0

कोई फर्क नहीं पड़ता, सिर्फ वैध_एमएक्स प्रतिक्रिया के आधार पर सत्यापित करने का प्रयास कर रहा है। किसी भी तरह से यह सच/झूठा – MrTechie

+0

छोड़ने लगता है और आपने अभी तक क्या प्रयास किया है? – Rizier123

उत्तर

3

यह आप के लिए काम करना चाहिए:

(इस के साथ आप एक सरणी के रूप में JSON स्ट्रिंग है)

<?php 

    $response = '{ 
       "domain": "my.domain.com", 
       "created_at": "2014-11-15 00:26:53.74059", 
       "valid_mx": true 
      }'; 

    $var = json_decode($response, true);  

    if($var["valid_mx"] === TRUE) 
     echo "true"; 
    else 
     echo "false"; 

?> 

आउटपुट:

yes 

यदि आप चाहते हैं एक वस्तु सिर्फ इस बदल लाइन:

$var = json_decode($response, true); 

इस के लिए:

$var = json_decode($response); 

और फिर आप इस लाइन के साथ इसे उपयोग कर सकते हैं:

if($var->valid_mx === TRUE) 
+1

यह काम करता है - मैं वास्तविक 'सत्य/झूठी' प्रतिक्रिया खींचने की कोशिश कर रहा था लेकिन किया वास्तव में यह देखने के लिए जांचें कि यह सेट किया गया था या नहीं। धन्यवाद – MrTechie

+1

@MrTechie आपका स्वागत है! एक अच्छा दिन है: डी – Rizier123

+0

स्पष्टता के लिए, मूल्य "सेट" है चाहे वह 'सत्य' या 'झूठा' है – showdev

1

यह मेरे लिए काम करता है:

if(json_decode($response)->valid_max){ 
    //your stuff 
} 
+0

यदि यह सेट नहीं है तो इसे गलत के रूप में लिया जाना चाहिए – mcdonaldjosh

6

आपकी समस्या के साथ print_r, नहीं json_decode है।

print_r सत्य/झूठी के लिए true/false नहीं दिखाता है। इसके बजाए, यह 1/(blank) दिखाता है।

आप var_dump($var); या var_export($var); का उपयोग कर सकते हैं जो आपको सही मान दिखाएगा।

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