通过修复有关阵列的通知来提高速度?

时间:2015-03-11 04:32:56

标签: php arrays execution-time

我有一个PHP脚本,它会对Instagram的API进行各种调用,然后将它们分配给数组以便稍后显示。

它是这样的:

array_push($this->url_array, $result->data[$i]->link);

对多个字段做同样的事情。

现在,因为不是每个返回的帖子都会有所有相同的数据,我经常会收到这样的通知:

Notice: Undefined offset: 2

我可以使用以下代码轻松删除它们

if($result->data[$i]->link != NULL)
{
  array_push($this->url_array, $result->data[$i]->link)
}
else
{
   array_push($this->url_array, NULL);
}

我需要总是在那里有一些价值,否则它会稍后显示表格,因为我生成的每个数组都需要相同的长度。

我的问题是,我是否会看到使用IF语句提高速度而不是隐藏通知?该脚本按两种方式工作,但我正处于我想尽可能优化它的阶段。是否值得在IF语句中编写10个左右的数组推送?

我最初的直觉是否定的,因为在任何一种情况下,它仍然会向数组中添加一个元素。但是,我不知道PHP如何处理幕后的错误,以及该过程是否会增加额外的时间。

1 个答案:

答案 0 :(得分:0)

事实证明,做IF语句确实要快得多。

经过一些测试后,我可以通过在尝试分配之前检查值来有效地加快脚本的速度

无论如何设置错误报告,PHP在后台仍然会生成并格式化通知消息。因此无论它是否显示在屏幕上,它仍然花费时间和资源来创建这些错误,这似乎是一个严重的时间阻力。

相关问题