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

use*_*438 2 php arrays json

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

$myArray = $anotherArray = new array();

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

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

if(is_array($myArray)){
    $newString = implode(" ", $myArray);
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

$newString = implode(" ", array_values($myArray));
Run Code Online (Sandbox Code Playgroud)

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

Saj*_*ndo 7

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

$newString  = json_encode($myArray);
Run Code Online (Sandbox Code Playgroud)

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

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

ini_set('display_errors','On');
error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)