【发布时间】:2014-11-13 19:14:06
【问题描述】:
我对出现的错误感到困惑 Array to string conversion
我感到困惑的原因是我正试图这样做,将数组转换为字符串,使用 implode 根据手册应该允许我将数组转换为字符串。那么为什么我会收到错误消息?
var $matches 是一个数组。 $error_c 是我要存储字符串的 var。
print_r($matches); // prints the array correctly
$error_c = implode(',', $matches);
echo $error_c;
简单地输出array 并给出:
Notice: Array to string conversion in ...
手册上写着implode — Join array elements with a string,为什么我尝试这样做时会出错?
编辑:这是我从$matches得到的输出
Array ( [0] => Array ( [0] => C [1] => E [2] => R [3] => R [4] => O [5] => R [6] => C [7] => O [8] => N [9] => T [10] => A [11] => C [12] => T [13] => S [14] => U [15] => P [16] => P [17] => R [18] => E [19] => S [20] => S [21] => E [22] => D ) )
【问题讨论】:
-
你的数组元素应该是字符串或者有
__toString的能力 -
你明白了!检查答案;)
-
$matches 是一个数组。那么你如何在不爆炸的情况下将整个数组 $matches 内爆,如果不是,那么你必须提到索引数组,如 $matches[0]
-
这是人们在处理 PHP 时有时会遇到的特定错误 - 它根本不宽泛。该错误实际上是带有“内爆”的特定代码行上的“数组到字符串转换”。我不同意在此基础上结束问题。事实上,我正是因为它的措辞与我正在寻找的错误完全匹配,才找到了这个问题,而答案帮助我解决了这个问题。它不是太宽泛。