2013-10-11 123 views
2

我有多个字符串我从一个JSON数组了,我投入到另一个阵列,像这样:阵列字符串转换通知

$myArray = $anotherArray = new array(); 

if($stringA != ""){ 
    $myArray[] = $stringA; 
}elseif($stringB != ""){ 
    $myArray[] = $stringB; 
} //so on... 

我希望把所有这些都在数据库中的一个列,所以我把字符串推入1个数组。然后,我转换为使用破灭数组:

if(is_array($myArray)){ 
    $newString = implode(" ", $myArray); 
} 

这个工作在我的本地正常,但当我们移动的文件到服务器,并通过cron运行它,我接到通知阵列字符串转换。

我在同一个文件上对不同的字符串使用了类似的代码,但那个没有收到错误,所以我不确定这里发生了什么。

我也使用array_values在破灭功能,像这样尝试:

$newString = implode(" ", array_values($myArray)); 

但是,这也不能工作。我不确定这是否意味着任何事情,但除了常规文本之外,还有一些情况,我也会打印出数组Array。所以我的问题是,这个错误的可能原因是什么?我该如何解决?

+0

告诉php:'$ myArray []'是数组....写'$ myArray = array();'if语句之前。 –

+0

我已经包含了它。虽然我不确定这是否有所作为。我有另一个数组,所以我的声明是这样的:$ myArray = $ anotherArray = array(); – user1597438

+0

'$ myArray = $ anotherArray'这意味着你正在设置'$ myArray'的值等于'$ anotherArray' –

回答

7

你可以只是json_encode你的数组?

$newString = json_encode($myArray); 

而且还通知可能是因为你的字符串中的一个可能是一个数组,你可能没有看到这个在你的本地主机,因为你不能有错误报告在PHP开启。

尝试将此添加到您的cron作业脚本。

ini_set('display_errors','On'); 
error_reporting(E_ALL); 
+1

非常感谢。我一直试图弄清楚几个小时。我打开了原始的json数组,发现我想传递给数组的一个字符串也是一个数组,所以我得到了错误。非常感谢。 – user1597438