(মূলত তাঁর প্রশ্নে লেপোয়াররা পোস্ট করেছেন )
ত্রুটি বার্তাটি একটি বড় কারণে বিভ্রান্ত করছে:
আদিম ধরণের নাম পিএইচপি-তে সংরক্ষিত নেই
নিম্নলিখিত সমস্ত বৈধ শ্রেণীর ঘোষণা রয়েছে:
class string { }
class int { }
class float { }
class double { }
আমার ভুলটি এই ভেবেছিল যে ত্রুটি বার্তাটি কেবল স্ট্রিং আদিম ধরণের প্রতি নির্দেশ করে - 'উদাহরণ' শব্দটি আমাকে বিরতি দেওয়া উচিত ছিল। আরও উদাহরণস্বরূপ উদাহরণ:
class string { }
$n = 1234;
$s1 = (string)$n;
$s2 = new string();
$a = array('no', 'yes');
printf("\$s1 - primitive string? %s - string instance? %s\n",
$a[is_string($s1)], $a[is_a($s1, 'string')]);
printf("\$s2 - primitive string? %s - string instance? %s\n",
$a[is_string($s2)], $a[is_a($s2, 'string')]);
আউটপুট:
1 s1 - আদিম স্ট্রিং? হ্যাঁ - স্ট্রিং উদাহরণ? না
$ এস 2 - আদিম স্ট্রিং? না - স্ট্রিং উদাহরণ? হ্যাঁ
পিএইচপি এটা সম্ভব একটি জন্য string
একটি হতে string
যখন এটি আসলে একটি ব্যাপার ছাড়া string
। অন্তর্নিহিত ধরণের রূপান্তর ব্যবহার করে এমন কোনও ভাষার মতো, প্রসঙ্গ সবকিছুই।