2014-09-19 102 views
9

我感到困惑的错误我得到说明Array to string conversion数组字符串转换错误使用破灭

的原因,我很困惑就是我想要做到这些,转换数组为字符串时,使用implode,根据手册应该允许我将我的数组转换为字符串。那么,为什么我会得到一个错误?

var $matches是一个数组。 $error_c是我想要存储字符串的变量。

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)) 
+0

你的数组的元素应该是字符串或具有'__toString'能力 – 2014-09-19 08:43:15

+0

你明白了!检查答案;) – lpg 2014-09-19 08:44:24

+0

$ matches是一个数组。那么怎么能爆破整个数组$匹配而不爆炸它,如果没有,那么你不得不提及索引数组像$匹配[0] – 2014-09-19 09:13:23

回答

20

让你有一个数组的数组...试试这个:

$error_c = implode(',', $matches[0]); 
1

这样做:

print_r($matches); // prints the array correctly 
$error_c = implode(',', $matches[0]); 
echo $error_c; 
7
$error_c = implode(',', $matches[0]); 
echo $error_c; 

因为你的array包含arrays里面