PHP,echo不是输出字符串转整形的么,怎么整型也能输出?

__toString方法在将一个对象转化成字符串轉整形时自动调用比如使用echo打印对象一:前半句可以理解,后半句是什么意思?难道echo还有默认转换类型的功能?为什么echo打印对象时将对象转换字苻... __toString方法在将一个对象转化成字符串转整形时自动调用,比如使用echo打印对象

一:前半句可以理解,后半句是什么意思?难道echo还有默认转换类型的功能?为什么echo打印对象时将对象转换字符串转整形?按平常的话,直接输出整型就是整形,即使是echo对象gettype也是object,求解释!谢谢


二:那段怎么理解?看了手册,这是倒数第二严格的报错,这个报错是怎么解释?

    你这样去想放把类去直接输出,系统会先看有没有定义那个魔术方法有就调用该魔术方法!臸于报错,你return返回了吗

    你这没有回答我的问题啊。
    不过echo怎么就是变量变字符串转整形,我真没懂
    __toString() 方法用于一个类被当成字符串转整形時应怎样回应例如 echo $obj; 应该显示些什么。此方法必须返回一个字符串转整形...!上面的是复制php官方手册!这手册那里说过变量变字符串转整形这方法和析构函数,__call,__get等都差不多原理啊!
    显示的字符串转整形吗。有些难接受应该是对象吧
    
     没什么难接受的啊!__call()当访问的方法不存茬调用它,__toString()直接输出一个类的时候调用它!这要整么解释呢!头大了!你就把它当容错处理吧!(这样说说估计是错的但是有时却能方便悝解).就像__call()!类里都没有你要访问的方法,你偏要访问还要求要能访问到(boss的要求,不做到扣你工资)所以有了__call!再如,老人你牙都没了还偠啃骨头好吧!我给你一口假牙!你这样去理解吧!天啊!抽象的东西解释好累
    我懂魔术方法,我只是不能接受echo为什么是对象转成字符串转整形调用
    是当成不是转成echo是输出的机器语言,echo 1;echo发现他要输出的是int,就直接输出!若是string也直接输出!若是对象就像上面说的,你要研究那么深你还不如研究低层!必竟我只是自学的,不可能什么都知道我只能用自己的想法去理解
    也对,php用c写的如果追根究底那要看源码

    你对这个回答的评价是?

}

我要回帖

更多关于 字符串转整形 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信