web-dev-qa-db-fra.com

Erreur de conversion de tableau en chaîne lors de l'utilisation de l'implode

Je suis confus au sujet d'une erreur que je reçois en déclarant Array to string conversion

La raison pour laquelle je suis confus est que j'essaie de faire exactement cela, de convertir un tableau en chaîne, en utilisant implode qui, selon le manuel, devrait me permettre de convertir mon tableau en chaîne. Alors pourquoi ai-je une erreur?

var $matches est un tableau. $error_c est le var que je veux stocker la chaîne.

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

Affiche simplement array et donne:

Notice: Array to string conversion in ...

Le manuel indique que implode — Join array elements with a string alors pourquoi ai-je une erreur lorsque j'essaye de le faire?

Edit: c'est la sortie que j'obtiens de $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

Vous avez un tableau de tableaux ... Essayez ceci:

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

parce que votre array contient arrays à l'intérieur

9
Mad Angle

Faites ça:

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

Vous pouvez utiliser array_values() pour un tableau de tableaux

par exemple. implode (",", array_values($array))

0
Mike

Pour simplement mettre toutes les données du tableau dans une chaîne, essayez ceci

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

Les fonctions 'ob_ *' contrôlent le tampon de sortie.

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

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

0
jmullee