PHP 8 में मिक्स्ड टाइप एक नया अंतर्निहित यूनियन टाइप है। मिक्स्ड टाइप array|bool|callable|int|float के बराबर है। टाइप मिक्स करना टाइप को पूरी तरह से छोड़ने के समान नहीं है।
इसका मतलब है, प्रोग्रामर बस इसे लिखना भूल गया।
कभी-कभी प्रोग्रामर पुराने संस्करण के साथ संगतता बनाए रखने के लिए कुछ विशिष्ट टाइप को छोड़ना पसंद करता है।
PHP 8 में मिक्स्ड टाइप किसी भी प्रकार की प्रॉपर्टी/रिटर्न/पैरामीटर ले सकता है। हम कह सकते हैं कि इसमें नल, कॉल करने योग्य, रिसोर्स, सभी क्लास ऑब्जेक्ट्स, या PHP में सभी स्केलर टाइप शामिल हैं। मिक्स्ड टाइप यूनियन टाइप के बराबर है।
int|float|bool|string|null|array|object|callable|resource
उदाहरण: PHP 8 में मिक्स्ड टाइप
<?php
class Student{
public mixed $studentProperty;
public function emp(mixed $emp): mixed {}
} ?>
PHP 8 में, मिक्स्ड एक सूडो/वर्चुअल टाइप है। यह कई टाइप्स का प्रतिनिधित्व करता है जिन्हें PHP संभाल सकता है, जिसका अर्थ है कि हम किसी वेरिएबल को मिक्स्ड में कास्ट नहीं कर सकते क्योंकि इसका कोई तर्क नहीं है।
$foo = (mixed) $bar;
नोट: gettype() और get_debug_type() फ़ंक्शन कभी भी वेरिएबल के प्रकार के रूप में मिक्स्ड नहीं लौटा सकते।
हम मिक्स्ड को अन्य टाइप्स के साथ यूनियन में उपयोग नहीं कर सकते।
function(mixed|FooClass $bar): int|mixed {}
नोट: उपरोक्त कोड में, दोनों यूनियन टाइप्स की अनुमति नहीं है और यह एक घातक त्रुटि देगा।
आउटपुट
Fatal error: Type mixed can only be used as a standalone type in C:\xampp\htdocs\gud.php on line 2
उदाहरण: मिक्स्ड टाइप का उपयोग करके PHP 8 प्रोग्राम कोड
<?php
function debug_function(mixed ...$data){
print_r($data);
}
debug_function(10, 'string', []);
?>
आउटपुट
Array (
[0] => 10
[1] => string
[2] => Array
(
)
)