我有一个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)
但这也不起作用.我不确定这是否意味着什么,但有一些情况,除了常规文本,我也得到了字体阵列打印.所以我的问题是,这个错误的可能原因是什么,我该如何解决呢?
你可以只对你的数组进行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)