私が言っているエラーについて混乱しています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 ) )
配列の配列があります...これを試してください:
$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;
配列の配列にはarray_values()
を使用できます
例えばimplode (",", array_values($array))
配列内のデータを文字列に入れるには、これを試してください
function whatever_to_string($in){
ob_start();
print_r($in);
return ob_get_clean();
}
'ob_ *'関数は出力バッファーを制御します。