Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I'm confused about an error I am getting stating Array to string conversion

The reason I'm confused is I'm trying to do exactly that, convert an array to a string, using implode which according to the manual should allow me to convert my array into a string. So why am I getting an error?

var $matches is an array. $error_c is the var I want to store the string.

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

Outputs simply array and gives:

Notice: Array to string conversion in ...

The manual states that implode — Join array elements with a string so why do I get an error when I try to do it?

Edit: this is the output I get from $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 ) ) 
share|improve this question

closed as too broad by CBroe, Ghost, Unihedro, saimeunt, AdrianHHH Sep 20 '14 at 17:28

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs. If this question can be reworded to fit the rules in the help center, please edit the question.

    
the element of your array should be string or have __toString capability –  George Garchagudashvili Sep 19 '14 at 8:43
    
You got it! Check the answers ;) –  lpg Sep 19 '14 at 8:44
    
$matches is an array . then how can u implode the whole array $matches without exploding it, if not then u have to mention with index array like $matches[0] –  hitlooser Sep 19 '14 at 9:13

3 Answers 3

You have an array of arrays... Try this:

$error_c = implode(',', $matches[0]);
share|improve this answer

Do that:

print_r($matches); // prints the array correctly
$error_c = implode(',', $matches[0]);
echo $error_c;
share|improve this answer
$error_c = implode(',', $matches[0]);
echo $error_c;

because your array contains arrays inside

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.