web-dev-qa-db-ja.com

implode使用時の配列から文字列への変換エラー

私が言っているエラーについて混乱しています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 ) ) 
20
Francesca

配列の配列があります...これを試してください:

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

arrayにはarraysが含まれているため

9
Mad Angle

それを行う:

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

配列の配列にはarray_values()を使用できます

例えばimplode (",", array_values($array))

0
Mike

配列内のデータを文字列に入れるには、これを試してください

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
jmullee