php数组没有附加值

时间:2011-01-27 04:58:16

标签: php arrays

我只是面临一个问题,代码的行为方式不同。当我在本地机器上编码时,它运行良好,即使在我的演示服务器中它运行良好,但它在客户端服务器中不起作用。

$input = "";
if($tagsources!=""){    
  foreach ($tagsources as $show_tagsources) {
    $search_sources = TestSource::search($this->access_key, $show_tagsources);
    foreach ($search_sources as $source) {
      if(in_array($source,$tagsources) ){
        $input[] = $source->id;                         
      }
    }               
  }     
}   

return $input;

在我的服务器上运行良好,客户端服务器中的问题。 我的服务器php版本是:5.2.4 客户端服务器的php版本是:5.1.6-23.2 我不确定问题出在哪里,如果你能解决问题,那将会非常有帮助。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

我首先将数组视为数组:

$input = array();

在字符串上使用[] =时,版本之间的行为可能会发生一些变化。使它成为一个数组,因为你将它用作一个数组,应该没有问题。

此外:

if ($tagsources != "")

这应该是if ($tagsources)if (is_array($tagsources))if (!empty($tagsources))。不要将数组与空字符串进行比较。它可能有用,但它不是你的意思,而且容易出错。

如果不能解决问题,则需要进行更多的逐步调试。

答案 1 :(得分:0)

如果您从数据库中获取数据,则您正在测试的特定计算机上可能不存在您要查找的值。