编程实践:将对象的类型转换为对象

时间:2011-02-06 00:35:47

标签: design-patterns

我刚看过 Top Bad Practices in PHP如果我正在做的事情也是一种不好的做法而变得好奇......

我通常将数组转换为对象

$person = (object)$person;

因为我更喜欢打字

$person->name

大于

$person['name']

注意:当我使用这种方法时,我不会处理多维数组。

需要专家建议,所以如果这是一个不好的做法我可以停止:(谢谢你们!

2 个答案:

答案 0 :(得分:1)

不,这不是不好的做法。事实上,它甚至在PHP页面上作为已发布的示例:http://www.php.net/manual/en/language.types.object.php#language.types.object.casting

还有很多合法用途(你的例子有点反复无常);例如:

$result = (object)mysql_fetch_assoc();

$result = mysql_fetch_object();

答案 1 :(得分:1)

嗯,虽然这对你已经报道过的多维数组不起作用,但这并不是一个坏习惯。

但是你应该注意到很多情况,例如thisthis报告数组比PHP5中的对象快一点,在PHP4中要快得多。在进行大量迭代时请记住这一点。