Maison >développement back-end >Problème PHP >Quelles sont les différences dans la sortie php ?

Quelles sont les différences dans la sortie php ?

藏色散人
藏色散人original
2022-10-18 09:11:041901parcourir

Les différences dans la sortie PHP sont : 1. echo renvoie void et ne renvoie pas de valeur ; 2. la vitesse d'écho est plus rapide que print ; 3. la fonction print_r imprime des informations faciles à comprendre sur les variables ; Il renvoie une chaîne formatée ; 5. La fonction sprintf écrit la chaîne formatée dans une variable au lieu de la générer. 6. La fonction var_dump est utilisée pour le débogage ;

Quelles sont les différences dans la sortie php ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3

La différence entre les six méthodes de sortie en php

sortie php echo, print , print_r Comparaison des différences entre , printf, sprintf et var_dump.

1. echo

n'est pas réellement une fonction, c'est une instruction php, vous n'avez donc pas besoin d'utiliser des parenthèses dessus. Cependant, si vous souhaitez transmettre plusieurs arguments à echo(), l'utilisation de parenthèses provoquera une erreur d'analyse. De plus, echo renvoie void et ne renvoie pas de valeur, il ne peut donc pas être utilisé pour attribuer des valeurs.

<?php

$a = echo("words"); // 错误!不能用来赋值

echo "words"; // 55nav

echo ("words"); // 55nav

echo ("apple","bear"); //发生错误,有括号不能传递多个参数

echo "alice","bill","cart", "daring";  // 不用括号的时候可以用逗号隔开多个值, 会输出 alicebillcartdaring  不管是否换行,最终显示都是为一行

$fistname="alice";

echo "$fistname com"; // 如果 $firstname = "alice", 则会输出 alice com.

echo &#39;$firstname com&#39;; // 由于使用单引号,所以不会输出$firstname的值,而是输出 $firstname com

?>

2, print

print() a le même usage que echo(), mais la vitesse d'écho sera un peu plus rapide que print. Ce n'est pas non plus une fonction, vous n'avez donc pas besoin d'utiliser des parenthèses dessus.

Cependant, si vous souhaitez passer plus d'un argument à print(), une erreur d'analyse se produira en utilisant des parenthèses.

Notez que print renvoie toujours 1, ce qui est différent de echo

En d'autres termes, vous pouvez utiliser print pour attribuer des valeurs, mais cela n'a aucune signification pratique.

1 <?php 
2 
3 $a = print("alice"); // 这个是允许的
4 
5 echo $a; // $a的值是1

3. Fonction print_r

La fonction print_r imprime des informations faciles à comprendre sur les variables.

Syntaxe :

mixed print_r ( Mixed $expression [, bool return ] )

Si la variable est une chaîne, un entier ou un float, sa valeur sera affichée directement. Si la variable est un tableau, il produira un tableau formaté pour une lecture facile, c'est-à-dire le format correspondant aux clés et aux valeurs.

est similaire à un objet.

print_r a deux paramètres, le premier est une variable, le second peut être défini sur true, s'il est défini sur true, une chaîne sera renvoyée, sinon une valeur booléenne TRUE sera renvoyée.

<?php

$a="alice";

$c = print_r($a);

echo $c;  // $c的值是TRUE

$c = print_r($a,true);

echo $c; // $c的值是字符串alice

$d = [1,2,3,4];

print_r($d); // Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

4. fonction printf

fonction printf()renvoie une chaîne formatée.

Syntaxe :

printf(format,arg1,arg2,arg++)

Le format du paramètre est le format converti, commençant par le signe de pourcentage ("%") et se terminant par le caractère de conversion.

Voici les valeurs de format possibles : * %% – Renvoie le signe de pourcentage

* %b – 二进制数* %c – 依照 ASCII 值的字符* %d – 带符号十进制数* %e – 可续计数法(比如 1.5e+3)* %u – 无符号十进制数* %f – 浮点数(local settings aware)* %F – 浮点数(not local settings aware)* %o – 八进制数* %s – 字符串* %x – 十六进制数(小写字母)* %X – 十六进制数(大写字母)arg1, arg2, arg++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的,在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。

S'il y a plus de signes % que d'arguments arg, vous devez utiliser des espaces réservés. L'espace réservé est inséré après le signe % et se compose d'un nombre suivi de "$".

Vous pouvez utiliser des nombres pour spécifier les paramètres affichés. Veuillez consulter l'exemple pour plus de détails.

<?php

printf("My name is %s %s。","alice", "com"); // My name is alice com。

printf("My name is %1\$s %1\$s","alice", "com"); // 在s前添加1\$或2\$.....表示后面的参数显示的位置,此行输出 My name is alice alice因为只显示第一个参数两次。

printf("My name is %2\$s %1\$s","alice", "com"); // My name is com alice

?>

5、sprintf函数

此函数使用方法和printf一样,唯一不同的就是该函数把格式化的字符串写入一个变量中,而不是输出来。

<?php

sprintf("My name is %1\$s %1\$s","alice", "com");  //你会发现没有任何东西输出的。

$out = sprintf("My name is %1\$s %2\$s","alice", "com");

echo $out;  //输出 My name is alice com

6、var_dump函数

功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。

1 var_dump(&#39;hello&#39;); // string(5) "hello"

 推荐学习:《PHP视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn