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

PHP ArrayAccess इंटरफ़ेस

परिचय

PHP में, ArrayAccess इंटरफ़ेस का उपयोग एक ऐसे वर्ग को विकसित करने के लिए किया जाता है जो किसी एक गुण तक पहुँच प्रदान करता है जो एक सरणी है। ऐसी सरणी संपत्ति को वस्तु निर्माण के दौरान उजागर किए बिना हेरफेर किया जा सकता है। ऐरे एक्सेस इंटरफ़ेस निम्नलिखित अमूर्त विधियों को परिभाषित करता है

सिंटैक्स

ArrayAccess {
   /* Methods */
   abstract public offsetExists ( mixed $offset ) : bool
   abstract public offsetGet ( mixed $offset ) : mixed
   abstract public offsetSet ( mixed $offset , mixed $value ) : void
   abstract public offsetUnset ( mixed $offset ) : void
}

तरीके

ArrayAccess::offsetExists - क्या कोई ऑफ़सेट मौजूद है

ArrayAccess::offsetGet - पुनः प्राप्त करने के लिए ऑफसेट

ArrayAccess::offsetSet - निर्दिष्ट ऑफ़सेट के लिए एक मान असाइन करें

ArrayAccess::offsetUnset - ऑफसेट को अनसेट करें।

ArrayAccess उदाहरण

निम्नलिखित उदाहरण में, एक सहयोगी सरणी myclass की आंतरिक निजी संपत्ति है। कुंजी ऑफसेट के रूप में कार्य करती है। हम ऐरे में किसी आइटम को सेट, रिट्रीव और अनसेट कर सकते हैं। यदि ऑफ़सेट नहीं दिया जाता है, तो इसे एक पूर्णांक के रूप में माना जाता है, हर बार अगली अनुक्रमणिका में वृद्धि होती है।

उदाहरण

<?php
class myclass implements ArrayAccess {
   private $arr = array();
   public function __construct() {
      $this->arr = array(
         "Mumbai" => "Maharashtra",
         "Hyderabad" => "A.P.",
         "Patna" => "Bihar",
      );
   }
   public function offsetSet($offset, $value) {
      if (is_null($offset)) {
         $this->arr[] = $value;
      } else {
         $this->arr[$offset] = $value;
      }
   }
   public function offsetExists($offset) {
      return isset($this->arr[$offset]);
   }
   public function offsetUnset($offset) {
      unset($this->arr[$offset]);
   }
   public function offsetGet($offset) {
      return isset($this->arr[$offset]) ? $this->arr[$offset] : null;
   }
}
$obj = new myclass();
var_dump(isset($obj["Mumbai"]));
var_dump($obj["Mumbai"]);
unset($obj["Mumbai"]);
var_dump(isset($obj["Mumbai"]));
$obj["Bombay"] = "Maharashtra";
var_dump($obj["Bombay"]);
$obj["Chennai"] = 'Tamilnadu';
$obj[] = 'New State';
$obj["Hyderabad"] = 'Telangana';
print_r($obj);
?>

आउटपुट

उपरोक्त प्रोग्राम निम्न आउटपुट दिखाता है

bool(true)
string(11) "Maharashtra"
bool(false)
string(11) "Maharashtra"
myclass Object(
   [arr:myclass:private] => Array(
      [Hyderabad] => Telangana
      [Patna] => Bihar
      [Bombay] => Maharashtra
      [Chennai] => Tamilnadu
      [0] => New State
   )

)

वर्ग की सरणी संपत्ति एक अनुक्रमित सरणी भी हो सकती है। उस स्थिति में, तत्व का सूचकांक (0 से शुरू) ऑफसेट के रूप में कार्य करता है। ऑफ़सेटसेट को कॉल करते समय (ऑफ़सेट तर्क के बिना 0 विधि, सरणी की अनुक्रमणिका अगले उपलब्ध पूर्णांक तक बढ़ जाती है

उदाहरण

<?php
class myclass implements ArrayAccess {
   private $arr = array();
   public function __construct() {
      $this->arr = array("Mumbai", "Hyderabad", "Patna");
   }
   public function offsetSet($offset, $value) {
      if (is_null($offset)) {
         $this->arr[] = $value;
      } else {
         $this->arr[$offset] = $value;
      }
   }
   public function offsetExists($offset) {
      eturn isset($this->arr[$offset]);
   }
   public function offsetUnset($offset) {
      unset($this->arr[$offset]);
   }
   public function offsetGet($offset) {
      return isset($this->arr[$offset]) ? $this->arr[$offset] : null;
   }
}
$obj = new myclass();
var_dump(isset($obj[0]));
var_dump($obj[0]);
unset($obj[0]);
var_dump(isset($obj[0]));
$obj[3] = "Pune";
var_dump($obj[3]);
$obj[4] = 'Chennai';
$obj[] = 'NewDelhi';
$obj[2] = 'Benguluru';
print_r($obj);
?>

आउटपुट

उपरोक्त प्रोग्राम निम्न आउटपुट दिखाता है

bool(true)
string(6) "Mumbai"
bool(false)
string(4) "Pune"
myclass Object(
   [arr:myclass:private] => Array(
      [1] => Hyderabad
      [2] => Benguluru
      [3] => Pune
      [4] => Chennai
      [5] => NewDelhi
   )

)

  1. PHP में इंटरफेस को समझाइए।

    इस लेख में, हम यह पता लगाएंगे कि PHP इंटरफ़ेस का उपयोग कैसे किया जाए जो PHP ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में सबसे महत्वपूर्ण संरचना पैटर्न में से एक है। एक इंटरफ़ेस हमें प्रोग्राम बनाने में सक्षम बनाता है, यह इंगित करता है कि विशिष्ट विधियों को कैसे लागू किया जाता है, इसकी जटिलताओं और प्रक्रिया क

  1. PHP में बहुरूपता को समझाइए।

    शुरू करने के लिए, बहुरूपता ग्रीक शब्द पॉली (जिसका अर्थ है कई) और रूपवाद (जिसका अर्थ है रूप) से लिया गया है। बहुरूपता ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में एक उदाहरण प्रस्तुत करता है जहां विभिन्न वर्गों में समान चीजें करने वाली विधियों का एक समान नाम होना चाहिए। बहुरूपता अनिवार्य रूप से एक ओओपी पैटर्न

  1. PHP में interface_exists () फ़ंक्शन

    इंटरफ़ेस_एक्सिस्ट्स () फ़ंक्शन जाँचता है कि इंटरफ़ेस परिभाषित किया गया है या नहीं। यदि name_of_interface द्वारा दिए गए इंटरफ़ेस को परिभाषित किया गया है, तो यह TRUE लौटाता है, अन्यथा FALSE लौटाया जाता है। सिंटैक्स interface_exists(name_of_interface, autoload) पैरामीटर name_of_interface - इंटरफ़ेस