Heim >Backend-Entwicklung >PHP-Problem >Was sind die Unterschiede in der PHP-Ausgabe?

Was sind die Unterschiede in der PHP-Ausgabe?

藏色散人
藏色散人Original
2022-10-18 09:11:041935Durchsuche

Die Unterschiede in der PHP-Ausgabe sind: 1. echo gibt void zurück und gibt keinen Wert zurück; 2. echo-Geschwindigkeit ist schneller als print; 3. print_r-Funktion druckt leicht verständliche Informationen über Variablen; Es gibt eine formatierte Zeichenfolge zurück. 5. Die Funktion sprintf schreibt die formatierte Zeichenfolge in eine Variable, anstatt sie auszugeben. 6. Die Funktion var_dump wird zum Debuggen verwendet.

Was sind die Unterschiede in der PHP-Ausgabe?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer

Der Unterschied zwischen den sechs Ausgabemethoden in PHP

php-Ausgabe echo, print , print_r Vergleich der Unterschiede zwischen , printf, sprintf und var_dump.

1. echo

echo() ist eigentlich keine Funktion, sondern eine PHP-Anweisung, daher müssen Sie keine Klammern verwenden. Wenn Sie jedoch mehr als ein Argument an echo() übergeben möchten, führt die Verwendung von Klammern zu einem Analysefehler. Darüber hinaus gibt echo void zurück und gibt keinen Wert zurück, sodass es nicht zum Zuweisen von Werten verwendet werden kann.

<?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() hat die gleiche Verwendung wie echo(), aber die Echogeschwindigkeit ist etwas schneller als print. Da es sich eigentlich auch nicht um eine Funktion handelt, müssen Sie keine Klammern dafür verwenden.

Wenn Sie jedoch mehr als ein Argument an print() übergeben möchten, führt die Verwendung von Klammern zu einem Analysefehler.

Beachten Sie, dass print immer 1 zurückgibt, was sich von echo unterscheidet

Mit anderen Worten, print kann zum Zuweisen von Werten verwendet werden, hat aber keine praktische Bedeutung.

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

3. print_r-Funktion

Die print_r-Funktion druckt leicht verständliche Informationen über Variablen.

Syntax:

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

Wenn die Variable ein String, eine Ganzzahl oder eine Gleitkommazahl ist, wird ihr Wert direkt ausgegeben. Es wird ein formatiertes Array ausgegeben, um das Lesen zu erleichtern, d. h. das Format, das den Schlüsseln und Werten entspricht.

Ähnlich wie Objektobjekte.

print_r hat zwei Parameter, der erste ist eine Variable, der zweite kann auf true gesetzt werden. Wenn er auf true gesetzt ist, wird eine Zeichenfolge zurückgegeben, andernfalls wird ein boolescher Wert TRUE zurückgegeben.

<?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. printf-Funktion

printf()-Funktion gibt eine formatierte Zeichenfolge zurück .

Syntax:

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

Parameterformat ist das konvertierte Format, beginnend mit dem Prozentzeichen („%“) und endend mit dem Konvertierungszeichen.

Hier sind die möglichen Formatwerte: * %% – Gibt das Prozentzeichen zurück

* %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,依此类推。

Wenn mehr %-Zeichen als arg-Argumente vorhanden sind, müssen Sie Platzhalter verwenden. Der Platzhalter wird nach dem %-Zeichen eingefügt und besteht aus einer Zahl gefolgt von „$“.

Sie können Zahlen verwenden, um die angezeigten Parameter anzugeben. Einzelheiten finden Sie im Beispiel.

<?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视频教程

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede in der PHP-Ausgabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn