web-dev-qa-db-fra.com

Comment voir le contenu complet des longues chaînes avec var_dump () dans PHP

J'ai un tableau avec des chaînes comme

$array = array("string1","string2","string3");

Mais ces chaînes sont très longues, avec une longueur de 2000+ parfois. Alors quand je fais

echo "<pre>";
var_dump($array);
echo "</pre>";

Ça me montre quelque chose comme

string 'zzzzzzzzzzzzzzzzz '... (length = 994)
string 'yyyyyyyyyyyyyyyyy '... (length = 1287)
string 'xxxxxxxxxxxxxxxxx '... (length = 1718)

Au lieu de la chaîne complète. Comment puis-je voir tout le contenu de ma baie? Et pour ceux qui demanderont, il contient des balises HTML, c'est pourquoi je n'écris pas echo $array[string];

32
Carlos2W

Vous utilisez xdebug, qui surcharge la fonction par défaut var_dump() pour vous offrir une sortie plus jolie et plus configurable. Par défaut, il limite également la quantité d'informations affichées à la fois. Pour obtenir plus de sortie, vous devez modifier certains paramètres.

Ajoutez ceci en haut de votre script:

ini_set("xdebug.var_display_max_children", -1);
ini_set("xdebug.var_display_max_data", -1);
ini_set("xdebug.var_display_max_depth", -1);

De les docs :

xdebug.var_display_max_children

Type: entier, valeur par défaut: 128

Contrôle la quantité d'enfants du tableau et les propriétés de l'objet sont affichées lorsque les variables sont affichées avec xdebug_var_dump (), xdebug.show_local_vars ou via Function Traces.

Pour désactiver toute limitation, utilisez -1 comme valeur.

Ce paramètre n'a aucune influence sur le nombre d'enfants envoyés au client via la fonctionnalité de débogage à distance.

xdebug.var_display_max_data

Type: entier, valeur par défaut: 512

Contrôle la longueur de chaîne maximale qui s'affiche lorsque les variables sont affichées avec xdebug_var_dump (), xdebug.show_local_vars ou via Function Traces.

Pour désactiver toute limitation, utilisez -1 comme valeur.

Ce paramètre n'a aucune influence sur le nombre d'enfants envoyés au client via la fonctionnalité de débogage à distance.

xdebug.var_display_max_depth

Type: entier, valeur par défaut: 3

Contrôle le nombre de niveaux imbriqués d'éléments de tableau et de propriétés d'objet lorsque les variables sont affichées avec xdebug_var_dump (), xdebug.show_local_vars ou via Function Traces.

La valeur maximale que vous pouvez sélectionner est 1023. Vous pouvez également utiliser -1 comme valeur pour sélectionner ce nombre maximal.

Ce paramètre n'a aucune influence sur le nombre d'enfants envoyés au client via la fonctionnalité de débogage à distance.

45
Ed Cottrell

Parfois, en utilisant var_dump peut être très fastidieux lorsque vous travaillez avec de longues cordes. Au lieu de produire le résultat sur le navigateur, vous pouvez utiliser le terminal. Une autre solution consiste à afficher le résultat sur un fichier texte à l'aide de file_put_contents ou similaire. Ouvrez ensuite le fichier et vérifiez le résultat.

2
Vesaka