使用implode时的数组到字符串转换通知

时间:2013-10-11 07:43:27

标签: php arrays json

我有一个json数组的多个字符串,我把它放到另一个数组中,如下所示:

$myArray = $anotherArray = new array();

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

我想将所有这些放在一个列中的数据库中,因此我将字符串推送到1个数组中。然后,我使用implode转换数组:

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

这在我的localhost中运行正常但是当我们将文件移动到服务器并通过cron运行时,我收到了通知Array to string conversion。

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

我也试过在implode函数中使用array_values,如下所示:

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

但这也不起作用。我不确定这是否意味着什么,但有一些情况,除了常规文本,我也得到了字体阵列打印。所以我的问题是,这个错误的可能原因是什么,我该如何解决呢?

1 个答案:

答案 0 :(得分:7)

你可以对你的数组进行json_encode吗?

$newString  = json_encode($myArray);

并且通知可能是因为你的一个字符串可能是一个数组,你可能在本地主机上看不到这个,因为你的php不能打开错误报告。

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

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