(मूल रूप से अपने सवाल में leepowers द्वारा पोस्ट )
त्रुटि संदेश एक बड़े कारण के लिए भ्रमित कर रहा है:
प्राथमिक प्रकार के नाम PHP में आरक्षित नहीं हैं
निम्नलिखित सभी मान्य वर्ग घोषणाएँ हैं:
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')]);
आउटपुट:
$ s1 - आदिम स्ट्रिंग? हाँ - स्ट्रिंग उदाहरण? नहीं
$ s2 - आदिम स्ट्रिंग? नहीं - स्ट्रिंग उदाहरण? हाँ
PHP में जब यह वास्तव में एक को छोड़कर stringएक होने के लिए संभव stringहै string। किसी भी भाषा के साथ जो अंतर्निहित प्रकार रूपांतरण का उपयोग करता है, संदर्भ सब कुछ है।