Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP ArgumentCountError

परिचय

PHP पार्सर ArgumentCountError फेंकता है जब यूजर-डिफाइंड फ़ंक्शन या मेथड को पास किए गए आर्गुमेंट उसकी परिभाषा में आर्गुमेंट से कम होते हैं। ArgumentCountError क्लास TypeError क्लास से इनहेरिट होती है।

ArgumentCountError उदाहरण

निम्न उदाहरण में, एक यूजर-डिफाइंड फ़ंक्शन add() दो आर्गुमेंट प्राप्त करने के लिए परिभाषित है। हालांकि, यदि कॉल करते समय आवश्यक संख्या से कम आर्गुमेंट प्रदान किए जाते हैं, तो ArgumentCountError फेंका जाएगा जिसे catch ब्लॉक से हैंडल किया जा सकता है।

उदाहरण 1

<?php
function add($x, $y) {
    return $x + $y;
}
try {
    echo add(10);
} catch (ArgumentCountError $e) {
    echo $e->getMessage();
}
?>

आउटपुट

Too few arguments to function add(), 1 passed in C:\xampp\php\test.php on line 6 and exactly 2 expected

निम्न उदाहरण में, myclass में setdata() मेथड दो औपचारिक आर्गुमेंट के लिए परिभाषित है। जब इस मेथड को कम आर्गुमेंट के साथ कॉल किया जाता है, तो ArgumentCountError फेंका जाता है।

उदाहरण 2

<?php
class myclass {
    private $name;
    private $age;
    function setdata($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}
try {
    $obj = new myclass();
    $obj->setdata();
} catch (ArgumentCountError $e) {
    echo $e->getMessage();
}
?>

आउटपुट

Too few arguments to function myclass::setdata(), 0 passed in C:\xampp\php\test.php on line 15 and exactly 2 expected

ArgumentCountError तब भी फेंका जाता है जब बिल्ट-इन फ़ंक्शन को अनुचित या अमान्य संख्या में आर्गुमेंट दिए जाते हैं। हालांकि, strict_types मोड सेट होना चाहिए।

उदाहरण 3

<?php
declare(strict_types = 1);
try {
    echo strlen("Hello", "World");
} catch (ArgumentCountError $e) {
    echo $e->getMessage();
}
?>

आउटपुट

strlen() expects exactly 1 parameter, 2 given

विरासत पदानुक्रम: Error → TypeError → ArgumentCountError

  1. - PHP pi() फ़ंक्शन - π मान प्राप्त करना

    PHP का pi() फ़ंक्शन गणितीय स्थिरांक **π (पाई)** का मान लौटाता है। यह M_PI स्थिरांक के समान मान (3.1415926535898) देता है। सिंटैक्स pi(): float पैरामीटर्स कोई पैरामीटर नहीं। लौटाया गया मान π का मान (फ्लोट)। M_PI स्थिरांक के बराबर। उदाहरण 1. वृत्त का क्षेत्रफल: πr² <?php $radius = 5; echo area

  1. - PHP में स्टेटिक मेथड्स को आर्गुमेंट्स के रूप में पास करना

    is_callable और call_user_func द्वारा उपयोग किए जाने वाले समान सिंटैक्स का उपयोग PHP में स्टेटिक मेथड्स को आर्गुमेंट्स के रूप में पास करने के लिए किया जा सकता है। स्टेटिक मेथड को पास करने के लिए, नीचे दिए गए उदाहरण का उपयोग किया जा सकता है: उदाहरण <?php function my_func() { echo Hel

  1. - PHP में एरे से कंस्ट्रक्टर में आर्गुमेंट्स पास करना

    Reflection API का उपयोग एरे से कंस्ट्रक्टर में आर्गुमेंट्स पास करने के लिए किया जा सकता है। ReflectionClass::newInstanceArgs उपरोक्त लाइन दिए गए आर्गुमेंट्स से नया क्लास इंस्टेंस बनाती है: public ReflectionClass::newInstanceArgs ([ array $args ] ) : object यह क्लास का नया इंस्टेंस बनाता है जब आर्गु