PHP foreach and explode array code not functioning properly -
& lt; php $ string = file_get_contents ("csv.csv"); $ सरणी = विस्फोट (",", $ स्ट्रिंग); $ Q = स्ट्रॉल्वर ($ _ GET [q]); विदेशी मुद्रा ($ सरणी $ मान) {$ परिणाम = विस्फोट (":", $ value); अगर (एसआरपीओ ($ क्यू, $ का परिणाम [0])! == गलत) {$ आउटपुट = $ परिणाम [1]; }} $ आउटपुट गूंज; ? & Gt;
यहां फ़ाइल
हैलो: कैसे हैं यदि $ _ GET [q]
(और $ q
) है, तो आप क्या कर रहे हैं, नमस्ते: आप क्या हैं, df: df
कोड> हैलो , $ आउटपुट
है आप कैसे कर रहे हैं
। हालांकि, अगर यह नमस्ते
है, तो मुझे आउटपुट नहीं मिलता है आप क्या हैं
या अगर मैं df
करता हूं मुझे नहीं मिलता
।
ऐसा क्यों होने वाला कोई कारण है? अपनी तरह की मदद के लिए आपको पहले से धन्यवाद।
आप अल्पविराम द्वारा विस्फोट कर रहे हैं, लेकिन सच्चाई आपके पास है प्रत्येक मान को अल्पविराम प्लस लाइन ब्रेक से अलग कर दिया गया है।
विस्फोट के बाद, आपका सरणी ["हैलो", "\ nhi ...", "\ ndf: ..." ], यही कारण है कि स्ट्रॉप तुलना के लिए कोई भी मैच नहीं है।
प्रयास करें
$ array = explode (", \ n", $ string);
संपादित करें: जैसा कि @ माइकल बर्कोव्स्की ने कहा, आप पैरामीटर को भी ट्रिम कर सकते हैं
यदि (स्ट्रॉपस ($ q, trim ($ परिणाम [0]) )! == गलत)
मापदंडों का क्रम आप किस प्रकार के आंशिक मिलान की पेशकश करना चाहते हैं पर निर्भर करता है। अपने वर्तमान पैरामीटर आदेश के साथ, पैरामीटर "हाय" "हाय", "एच" और "आई" से मेल खाता है, लेकिन "उच्च" नहीं होगा।
यदि आप उन्हें माइकल के रूप में फ़्लिप करते हैं, पैरामीटर "hi" "हाय" और "उच्च" से मेल खाता होगा, लेकिन "एच" या "आई" नहीं होगा।
Comments
Post a Comment