Ошибка преобразования массива в строку при использовании implode

Я запутался из-за ошибки Array to string conversion

Причина, по которой я запутался, в том, что я пытаюсь сделать именно это, преобразовать массив в строку, используя implode что в соответствии с руководством должно позволить мне преобразовать мой массив в строку. Так почему я получаю ошибку?

вар $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 ) )

14

Решение

У вас есть массив массивов … Попробуйте это:

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

Другие решения

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

потому что ваш array содержит arrays внутри

8

Сделай это:

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

Чтобы просто поместить все данные из массива в строку, попробуйте

function whatever_to_string($in){
ob_start();
print_r($in);
return ob_get_clean();
}

Функции ob_ * управляют выходным буфером.

http://php.net/manual/en/function.ob-start.php

http://php.net/manual/en/function.ob-get-clean.php

0
По вопросам рекламы [email protected]