print
et echo
sont plus ou moins les mêmes ; ce sont tous deux des constructions linguistiques qui affichent des chaînes de caractères. Les différences sont subtiles : print
a une valeur de retour de 1, il peut donc être utilisé dans des expressions alors que echo
a un void
type de retour ; echo
peut prendre plusieurs paramètres, bien que cette utilisation soit rare ; echo
est légèrement plus rapide que print
. (Personnellement, j'utilise toujours echo
jamais print
.)
var_dump
affiche une description détaillée d'une variable, y compris son type et le type de ses sous-éléments (s'il s'agit d'un tableau ou d'un objet). print_r
imprime une variable sous une forme plus lisible pour l'homme : les chaînes de caractères ne sont pas citées, les informations de type sont omises, les tailles des tableaux ne sont pas indiquées, etc.
var_dump
est généralement plus utile que print_r
lors du débogage, d'après mon expérience. C'est particulièrement utile lorsque vous ne savez pas exactement quelles valeurs/types vous avez dans vos variables. Considérez ce programme de test :
$values = array(0, 0.0, false, '');
var_dump($values);
print_r ($values);
Avec print_r
vous ne pouvez pas faire la différence entre 0
et 0.0
ou false
et ''
:
array(4) {
[0]=>
int(0)
[1]=>
float(0)
[2]=>
bool(false)
[3]=>
string(0) ""
}
Array
(
[0] => 0
[1] => 0
[2] =>
[3] =>
)
3 votes
Print_r n'est pas exactement un alias de var_dump - il produit dans un format différent. Notamment, la sortie de var_dump inclut également le "type" de chaque variable.
0 votes
Référence : Comparaison des fonctions print et echo de PHP
0 votes
Un autre détail à ajouter et qui peut être utile, est que var_dump tronque les textes très longs, en montrant ... et en indiquant la longueur restante, par exemple : même '.... (longueur = 4482) Si vous utilisez echo, cela ne se produit pas.