我只是面临一个问题,代码的行为方式不同。当我在本地机器上编码时,它运行良好,即使在我的演示服务器中它运行良好,但它在客户端服务器中不起作用。
$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 我不确定问题出在哪里,如果你能解决问题,那将会非常有帮助。 提前谢谢。
答案 0 :(得分:1)
我首先将数组视为数组:
$input = array();
在字符串上使用[] =
时,版本之间的行为可能会发生一些变化。使它成为一个数组,因为你将它用作一个数组,应该没有问题。
此外:
if ($tagsources != "")
这应该是if ($tagsources)
或if (is_array($tagsources))
或if (!empty($tagsources))
。不要将数组与空字符串进行比较。它可能有用,但它不是你的意思,而且容易出错。
如果不能解决问题,则需要进行更多的逐步调试。
答案 1 :(得分:0)
如果您从数据库中获取数据,则您正在测试的特定计算机上可能不存在您要查找的值。