Tuesday 15 April 2014

php - json_encode giving recursion error -


  चेतावनी: json_encode (): [निर्देशिका] में पुनरावर्तन का पता चला   

यह त्रुटि क्या है, मैं इस मुद्दे को हल नहीं कर पा रहा हूं। यह एक बड़ी बड़ी प्रति लॉग 500 त्रुटि का सामना करना पड़ रहा है। आकार में 133,000,000 बाइट्स मेमोरी अधिकतम आउट होने तक लॉग स्पैमिंग है।

  & lt;? Php शामिल ('simple_html_dom.php'); अगर (isset ($ _ अनुरोध ['प्रकार']) & amp; amp; $ amp; $ _REQUEST ['प्रकार'] = "getmored details") (पुनर्प्राप्त करें ($ _ अनुरोध ['htmlsource']); } फ़ंक्शन पुन: प्राप्त करें ($ htmlcode) {$ retrievetitle = retrievechTitle ($ htmlcode); $ Retrievermb = retrievechRMB ($ htmlcode); गूंज json_encode (सरणी ("त्रुटि" = & gt; 0, "rmb" = & gt; $ retrievermb, "title" = & gt; $ retrievetitle)); } फ़ंक्शन retrievechTitle ($ htmlcode) {$ html = str_get_html ($ htmlcode); $ शीर्षक = $ html- & gt; खोजें ('div [class = tb-detail-hd] h3'); $ शीर्षक वापसी [0]; } समारोह retrievechRMB ($ htmlcode) {$ html = str_get_html ($ htmlcode); $ Rmb = $ html- & gt; खोजें ('[class = tb-rmb-num]'); रिटर्न $ आरएमबी [0]; }? & Gt;   

मैं एक HTML फ़ाइल से डेटा निकालने की कोशिश कर रहा हूं, अन्य निष्कर्षण ठीक काम करता है, ऊपर के अलावा, बहुत सारी समस्याएं दे रहा है। मैंने कोड के इस सेट को विशेष रूप से प्रसंस्करण और उसी मुद्दे के लिए एक PHP फ़ाइल में अलग कर दिया है।

कोई विचार? मैं jQuery के अजाक्स का उपयोग होम पेज पर कई कार्यों के साथ $। Ajax ({
मैं अजाक्स में नया हूँ), एक पेज पर कई अजाक्स को ठीक करना ठीक है?

समस्या स्पष्ट रूप से इसके लिए अनुकूल कुछ पर json_encode कॉल करने की कोशिश में निहित है:

  गूंज json_encode (सरणी ("त्रुटि" = & gt; 0, "rmb" = & gt; $ retrievermb, "title" = & gt; $ पुनर्प्राप्तविटिटल));   

  $ html = str_get_html (हम क्या पूछ सकते हैं, क्या  $ retrievetitle  है? यह किस तरह का मूल्य है? ठीक है, हम इसे फ़ंक्शन परिभाषा में पाते हैं:  
  $ html = str_get_html $ Htmlcode); $ title = $ html- & gt; खोजें ('div [class = tb-detail-hd] h3'); $ शीर्षक [0];   

वापस आइए किसी प्रकार का ऑब्जेक्ट है.मैं simple_html_dom लाइब्रेरी से परिचित नहीं हूं, लेकिन शायद यह एक ऐसा ऑब्जेक्ट है जो उस लाइब्रेरी से संबंधित है और एक HTML तत्व का प्रतिनिधित्व करता है। शायद यह एक देशी DOMElement ऑब्जेक्ट; मुझे नहीं पता।

स्पष्ट क्या है, हालांकि, यह है कि यह किसी तरह की रिकर्सिव संरचना है इसका अर्थ यह है कि कुछ अर्थों में यह स्वयं ही शामिल है। यह PHP में पूरी तरह संभव है, लेकिन JSON स्ट्रिंग में प्रतिनिधित्व करना असंभव है। उदाहरण के लिए, PHP में:

  वर्ग फ़ू {सार्वजनिक $ self; सार्वजनिक फ़ंक्शन __ रचना () {$ this- & gt; आत्म = $ this; }} $ Foo = नया फ़ू;   

$ foo- & gt; स्व उसी कोड के रूप में $ foo है वास्तव में, आप $ foo- & gt; आत्म-> आत्म-> स्वयं कर सकते हैं और यह ठीक काम करेगा यह एक बहुत ही सरल पुनरावर्ती संरचना है आपका संभवतः थोड़ा अधिक जटिल है, लेकिन सिद्धांत में भिन्न नहीं है यह JSON में प्रतिनिधित्व नहीं किया जा सकता। json_encode त्रुटि को पुनरावृत्ति का सामना करना पड़ता है।

मुझे लगता है कि आप शायद शीर्षक तत्व की बजाय शीर्षक की सामग्री को संग्रहित करना चाहते थे। संक्षेप में पढ़ना, ऐसा लगता है कि आप सादा टेक्स्ट संपत्ति चाहते हैं मुझे पूरा यकीन नहीं है कि यह कैसे काम करता है (एपी है, हम कहेंगे, विरल) लेकिन मेरा अनुमान निम्न होगा:

  वापस $ शीर्षक [0] - gt; plaintext;   

लेकिन यह केवल एक शिक्षित अनुमान है।

No comments:

Post a Comment