将数组转换为对象
我有一个自己的数组类。像这样:
myArray::fetch('site.meta.keywords'); // return Array(...)
同时,我该怎么做呢?
myArray::fetch('site.meta.keywords'); // return Array(...)
myArray::fetch('site.meta.keywords')->as_object(); // return Object{...}
PHP 中可以吗?
I have a own Array class. Like this:
myArray::fetch('site.meta.keywords'); // return Array(...)
At the same time, How can I do like this?
myArray::fetch('site.meta.keywords'); // return Array(...)
myArray::fetch('site.meta.keywords')->as_object(); // return Object{...}
Is it possible in PHP?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不能,因为数组没有 as_object 方法。我将在您的数组类中创建一个单独的 fetchAsObject 方法,或者向您现有的 fetch 方法引入一个可选的 asObject 参数(布尔值,默认 false)。
You can't because an array doesn't have an as_object method. I would make a separate fetchAsObject method in your array class, or introduce an optional asObject parameter (boolean, default false) to your existing fetch method.
您应该看一下 ArrayObject,它的行为与任何其他数组相同,您可以扩展它(或您的类?)。
在您的情况下,我会返回类似 MyArrayObject 的内容(您的类使用 as_object() 方法扩展 ArrayObject 等)。
You should take a look at ArrayObject, it behaves the same as any other array and you can extend it (or your class?).
In your case I'd return something like MyArrayObject (your class extending ArrayObject with method as_object() etc.).
如果在第一种情况下您返回原始 PHP 数组,则不可能。
你可以这样做:
或者只是这样:
If in first case you are returning raw PHP Array it is not possible.
You can do that way:
Or just simply like that: