Я запутался из-за ошибки 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 ) )
У вас есть массив массивов … Попробуйте это:
$error_c = implode(',', $matches[0]);
$error_c = implode(',', $matches[0]);
echo $error_c;
потому что ваш array
содержит arrays
внутри
Сделай это:
print_r($matches); // prints the array correctly
$error_c = implode(',', $matches[0]);
echo $error_c;
Чтобы просто поместить все данные из массива в строку, попробуйте
function whatever_to_string($in){
ob_start();
print_r($in);
return ob_get_clean();
}
Функции ob_ * управляют выходным буфером.