Dynamically coded if statement executed inside an XMLReader while loop (using PHP) -


यदि बयान कोड डायनामिक रूप से नीचे $ if_statement चर में, इस तरह से: / p>

  $ keyword = trim ($ _ GET ["खोजशब्द"]); यदि (! खाली ($ कीवर्ड)) {$ if_statement = ($ keyword == $ xpath- & gt; मूल्यांकन करें ('स्ट्रिंग (शीर्षक)', $ नोड)); } $ ShopByStore = $ _GET ["स्टोर"]; यदि (! खाली ($ shopByStore)) {$ if_statement = ($ if_statement & amp; $ shopBystore == $ xpath- & gt; मूल्यांकन करें ('स्ट्रिंग (स्टोर)', $ नोड)); } // अधिक 8 अतिरिक्त GET तरीकों $ if_statement चर के लिए संभावित उपयोगकर्ता इनपुट पुनर्प्राप्त कर रहे हैं   

फिर बहुत बड़ी एक्सएमएल फाइल को XMLReader के साथ पार्स किया जाएगा ..

  $ reader = new XMLReader; $ Reader- & gt; खुला ( 'products.xml'); $ dom = नया डोम डॉक्यूमेंट; $ xpath = नया DOMXpath ($ dom); जबकि ($ रीडर- & gt; पढ़ें () & amp; amp; & amp; $ रीडर- & gt; नाम! == 'उत्पाद') {continue; } जबकि ($ रीडर- & gt; नाम === 'उत्पाद') {$ node = $ dom- & gt; आयातनोड ($ रीडर- & gt; विस्तृत (), TRUE);   

.. और फिर यह अगर कथन कोड परीक्षण करेगा कि कौन सा मान XMLReader में दिखाया जाता है, जबकि लूप। चूंकि 1 से 10 स्थितियों के बीच अगर कथनों में परीक्षण किया जाता है (इस पर निर्भर करता है कि कितने जीईटी पद्धतियों से उपयोगकर्ता इनपुट से खाली चर का उत्पादन होता है), तो सिस्टम पर कम चर के लिए केवल एक बार (पहले पाश निष्पादन) की तुलना में यह लूप के हर लूप के दौरान खाली चर के लिए परीक्षण करना होगा। 10 स्थितियों के लिए परीक्षण (कुछ मामलों में) केवल 1 या 2 परिस्थितियों का परीक्षण करने की आवश्यकता है कचरा है

क्या नीचे दिए गए लूप में if_statement चर (गतिशील रूप से ऊपर बनाया गया) का उपयोग करने का कोई तरीका है? कुछ भी नीचे प्रदर्शित नहीं किया जा रहा है।

  यदि ($ if_statement) {$ name = $ xpath- & gt; मूल्यांकन करें ('स्ट्रिंग (नाम)', $ नोड); $ store = $ xpath- & gt; मूल्यांकन करें ('स्ट्रिंग (स्टोर)', $ नोड); गूंज "नाम:" $ नाम "।"; गूंज "स्टोर:" $ स्टोर "।"; }}    

इसे आज़माएं:

  $ संबंध = सरणी ('कीवर्ड' = & gt; 'शीर्षक', 'स्टोर' = & gt; 'स्टोर'); // आपके अन्य परिस्थितियों में संबंध हैं जबकि ($ reader- & gt; read ()) {if ($ reader- & gt; नाम! == 'उत्पाद') {continue;} $ node = $ dom- & gt; आयातनोड ($ reader- & gt; विस्तृत करें) सच); विदेशी मुद्रा ($ $ के रूप में संबंध $ => $ वेल) {यदि (ट्रिम ($ _ GET ["$ key"])! = $ Xpath- & gt; मूल्यांकन करें ("स्ट्रिंग ($ val)")) {continue 2; }} $ name = $ xpath- & gt; मूल्यांकन करें ('स्ट्रिंग (नाम)', $ नोड); $ Store = $ xpath- & gt; मूल्यांकन करें ('स्ट्रिंग (स्टोर)', $ नोड); गूंज "नाम:" $ नाम "।"; गूंज "स्टोर:" $ स्टोर "।"; }   

कोड का परीक्षण नहीं किया जा सका, लेकिन यह कुछ टिंकरिंग के साथ काम कर सकता है।

आशा है कि यह मदद करता है।

Comments

Popular posts from this blog

Verilog Error: output or inout port "Q" must be connected to a structural net expression -

jasper reports - How to center align barcode using jasperreports and barcode4j -

c# - ASP.NET MVC - Attaching an entity of type 'MODELNAME' failed because another entity of the same type already has the same primary key value -