0

输出格式对脚本的整体性能有影响吗?例如,我们有时可以在基于 php 的 cms 中选择输出格式(数组或对象)。

我知道两者之间的唯一区别是:

如果我们选择数组,我们使用

$example['key1'] = $dummydata;

但如果输出格式是“对象”,我们使用

$example->key1 = $dummydata;

这是我们应该选择其中一个选项而不是另一个选项的唯一原因(只是可访问性)吗?还是还有其他需要考虑的事情?这些之间哪种格式更好?示例这是来自 wordpress 的代码片段,我们可以在其中选择输出类型

$wpdb->get_row('query', output_type, row_offset);

$sql = "select * from ".$wpdb->prefix."sampletable where user_id =".$user->ID;
$result_set = $wpdb->get_row($sql, ARRAY_A); 
4

3 回答 3

2

如果您只使用 stdClass 对象,则几乎没有任何区别。在这种情况下,我什至会选择数组,因为它们使用起来更灵活(例如键名更灵活),而且你有大量的功能可以使用(数组合并、差异等)。

最好的选择是完全 OO 并将您的数据结构定义为类。这为您提供了类型安全性、类型提示性、对象方法等。同样,只是“无类型”的 stdClass 对象没有给您任何这些,甚至不提供数组的丰富功能。

于 2013-08-21T05:00:13.220 回答
0

我在 Codex 中搜索wordpress output_type这个页面

我觉得我之前在这个答案中给出的通用对象与数组参数在这里并不相关。请考虑之后您希望如何处理这些数据。如果您要编写自己的函数来处理数据,那么数组与对象一样好。

例如,如果您有使用某些对象中现有逻辑的操作,WP_Query那么一定要使用OBJECT返回类型。

于 2013-08-21T04:34:01.683 回答
-2

数组对重用不友好,通常你构建一次,使用一次 对数据保护友好 对默认引用友好 对公共友好 对象重用友好,你可以在项目数据保护友好的其他地方使用它 默认引用友好

于 2013-08-21T04:30:57.853 回答