4

我继承了一个 WordPress 项目,目前正在编写一个脚本来以 .csv 格式导出数据库表。wp_usermeta最初的设计者在表格中存储了很多关于每个用户的自定义信息。不幸的是,很多这些信息是可选的,在 NULL 可选数据的情况下,数据库中的行不存在。具有可选“性别”字段的用户示例:

umeta_id user_id meta_key meta_value
1        1       gender   1
2        1       phone    5555555555
3        1       address  "123 alphabet lane"

4        2       phone    5555551234
5        2       address  "123 alphabet way"

6        3       gender   2
...

我不能缺少带有 .csv 的字段,否则格式会看起来很奇怪,所以我需要检查每个用户的信息以查找这些缺失的字段并插入一个空字符串。由于我将迭代数以万计的数据库行,我很好奇哪种变量赋值方法在内存使用和执行时间方面最有效。

方法一

if (empty($fetched[$field]))
{
    $data[$field] = '';
}
else
{
    $data[$field] = $fetched[$field];
}

方法二

$data[$field] = '';
if (! empty($fetched[$field])
{
    $data[$field] = $fetched[$field];
}

方法三

$data[$field] = empty($fetched[$field]) ? '' : $fetched[$field];

或者它们都足够接近以至于它真的没有任何区别?提前感谢您提供的任何见解!

4

1 回答 1

4

它们都足够接近以至于它真的没有什么区别。机器人甚至丝毫。

没有语法问题会影响性能

这是

  • 算法(100500 次迭代的循环)
  • 数据操作(查看 500Mb 的文件)
  • 网络查找(检查每个页面请求的 RSS 提要)
  • 繁重的计算(图像大小调整)

影响性能。

但从来没有语法问题。不是任何语法问题。绝不。既没有可测量的差异,也没有理论上的差异。

于 2013-08-30T13:47:59.260 回答