PHP 8-এ mixed type একটি নতুন বিল্ট-ইন ইউনিয়ন টাইপ। Mixed type সমতুল্য array|bool|callable|int|float। টাইপ মিক্স করা সম্পূর্ণরূপে টাইপ সম্পূর্ণ বাদ দিতে সমান নয়।
এমন মানে, প্রোগ্রামার শুধু লেখা ভুলে গিয়েছেন।
কখনও কখনও প্রোগ্রামার পুরানো সংস্করণের সাথে কম্প্যাটিবিলিটি রাখতে নির্দিষ্ট টাইপ বাদ দিতে পছন্দ করেন।
PHP 8-এ Mixed type যেকোনো টাইপের প্রোপার্টি/রিটার্ন/প্যারামিটার নিতে পারে। আমরা বলতে পারি যে এতে null, callable, resource, সব ক্লাস অবজেক্ট, বা PHP-এ সব স্কেলার টাইপ অন্তর্ভুক্ত। Mixed type ইউনিয়ন টাইপের সমতুল্য।
int|float|bool|string|null|array|object|callable|resource
উদাহরণ: PHP 8-এ Mixed Type
<?php class Student{ public mixed $studentProperty; public function emp(mixed $emp): mixed {} } ?>PHP 8-এ, Mixed একটি সুডো/ভার্চুয়াল টাইপ। এটি অনেক টাইপ উপস্থাপন করে যা PHP হ্যান্ডেল করতে পারে, যার মানে আমরা একটি ভেরিয়েবলকে mixed-এ কাস্ট করতে পারি না কারণ এটি কোনো লজিক তৈরি করে না।
$foo = (mixed) $bar;
নোট: gettype() এবং get_debug_type() ফাংশন কখনো mixed রিটার্ন করতে পারে না ভেরিয়েবলের টাইপ হিসেবে।
আমরা mixed অন্যান্য টাইপের সাথে ইউনিয়নে ব্যবহার করতে পারি না।
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
উদাহরণ: Mixed Type ব্যবহার করে PHP 8 প্রোগ্রাম কোড
<?php function debug_function(mixed ...$data){ print_r($data); } debug_function(10, 'string', []); ?>আউটপুট
Array ( [0] => 10 [1] => string [2] => Array ( ) )