2010-11-28 12 views
6

बहिष्कृत किया गया है मैंने PHP सीखना शुरू कर दिया है। तो मेरी विंडोज 7 मशीन पर WAMP सर्वर स्थापित किया। मैं निम्नलिखित PHP कोड कोशिश कर रहा हूँ:फ़ंक्शन ईरेग() को

Deprecated: Function ereg() is deprecated in C:\wamp\www\learnphp\common.php on line 3 
The expression matches 

मुझे लगता है कि कोड सही है:

<?php 
$phrase = "I love PHP"; 
if (ereg("PHP", $phrase)) { 
    echo "The expression matches"; 
} 
?> 

जब मेरे mozilla में यह करने की कोशिश की, मैं उत्पादन मिला है। मैं त्रुटि को समझ नहीं सकता। क्या कोई मुझे बता सकता है कि यह "बहिष्कृत" का अर्थ क्या है? और इस त्रुटि को कैसे हल करें?

मेरा PHP संस्करण 5.3.0 है। क्या यह संस्करण समस्या हो सकती है?

संपादित करें: मैं इसे googled और कुछ पाया बारे में www फ़ोल्डर में \ file.inc फ़ाइल शामिल हैं। मेरे पास मेरे www फ़ोल्डर में निर्देशिका शामिल नहीं है।

उत्तर

13

"बहिष्कृत" का अर्थ है कि PHP 5.3.0 अब उस फ़ंक्शन का समर्थन नहीं करता है। आपको ereg() का इलाज करना चाहिए क्योंकि अब मौजूद नहीं है।

समारोह अभी भी मौजूद है, लेकिन केवल जहां उसका उपयोग किया गया है मौजूदा अनुप्रयोगों का समर्थन करने के लिए। नए कोड लिखते समय, कभी भी बहिष्कृत फ़ंक्शन का उपयोग न करें।

इसके बजाय, preg_match समारोह पर विचार करें।

+0

लिंक के लिए धन्यवाद। – narayanpatra

+0

आपके मामले में, कोड preg_match ("@ PHP @", $ वाक्यांश होगा) – fedmich

6

बहिष्कृत का अर्थ है कि इस फ़ंक्शन को भविष्य में PHP से हटा दिया जाएगा। अब आप अपने कोड में इस पर भरोसा नहीं करना चाहिए और इसके बजाय सुझाए गए विकल्प का उपयोग करना चाहिए।

PHP के ereg, heed the notice in the PHP Manual के मामले में:

पीएचपी 5.3.0 के रूप में, regex विस्तार PCRE विस्तार के पक्ष में पदावनत किया गया है। इस फ़ंक्शन को कॉल करने से E_DEPRECATED नोटिस जारी होगा। पीसीआरई में कनवर्ट करने में मदद के लिए list of differences देखें।

PHP मैनुअल में E_DEPRECATED का विवरण भी देखें।
PHP5.3 में सभी बहिष्कृत सुविधाओं के लिए, Deprecated features in PHP 5.3.x देखें।
अधिक सामान्य जानकारी के लिए Wikipedia article on Deprecation in Software

+3

यह भी दर्शाता है कि जो ट्यूटोरियल आप सीख रहे हैं वह बहुत ही पुराना है और आपको आधुनिक खोजना चाहिए। – Quentin

-2

इसका मतलब है कि आप जिस फ़ंक्शन का उपयोग कर रहे हैं वह अब अप्रचलित है। आप इस फ़ंक्शन का अब और उपयोग नहीं कर सकते हैं। मुझे PHP 5.5.6 के साथ एक ही त्रुटि मिली। आपके मुद्दे का एक संभावित समाधान आपके PHP संस्करण को डाउनग्रेड करना हो सकता है ताकि यह समर्थित हो।

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